黑马程序员_HTML+JSP:注册表单

------- android培训java培训、期待与您交流! ----------<html>
<head>
<title>无标题文档</title>
<style>
table{
border:#0066FF 1px solid;
width:600px;
border-collapse:collapse;
}
table td,table th{
border:#0066FF 1px solid;
padding:10px;
}
table td{
background-color:#FFFF99;
}
table th{
background-color:#FF9900;
}
#repswspan{
margin-left:110px;
}
.errorinfo{
color:#ff0000;
display:none;
}
.focus{
border:#0099ff 1px solid;
}
.norm{
border:#999999 1px solid;
}
.error{
border:#ff0000 1px solid;
}


</style>


<script type="text/javascript">


function inputColor(input)
{
input.className = "norm";
input.onfocus = function()
{
this.className = "focus";
}
}
/*没抽取代码时,可以这样做:
windows.onload = function()
{
//document.forms[0].user.className = "focus";
document.forms[0].user.onfocus = function()
{
//alter(this.nodeName);
this.className = "focus";
}
}
*/
windows.onload = function()
{
with(document.forms[0])
{
inputColor(user);
inputColor(psw);
inputColor(repsw);
inputColor(mail);
}
}
//校验方法:代码的抽取
function check(inputNode,regex,divId)
{
var b = false;


var divNode = document.getElementById(divId);
if(regex.test(inputNode.value)){
inputNode.className = "norm";
divNode.style.display = "none";
b = true;
}
else{
inputNode.className = "error";
divNode.style.display = "block";
}
return b;
}
//校验用户名
function checkUser(userNode)
{
var regex = /^\w{3,5}$/ ;//定义正则表达式
//自己验证//  /^[a-zA-Z][a-z_0-9]{3,5}$/; // /^[a-z_][\w-.]*[0-9a-z]$/i; 
return check(userNode,regex,"userdiv");
}
//校验密码
function checkPsw(pswNode)
{
var regex = /^[a-z0-9]{3,5}$/i ;//定义正则表达式  //多了\
return check(pswNode,regex,"pswdiv");
}
//校验确认密码
function checkRepsw(repswNode)
{
var b = false;
var value1 = repswNode.value;//定义正则表达式
var value2 = document.getElementsByName("psw")[0].value;
var divNode = document.getElementById("repswdiv");//此处错误getElement后面没有s
if(value1==value2){
repswNode.className = "norm";
divNode.style.display = "none";
b = true;
}
else{
repswNode.className = "error";
divNode.style.display = "block";
}
return b;
}
//校验mail
function checkMail(mailNode)
{
var regex = /^\w+@\w+(\.\w+)+$/ ;//定义正则表达式
return check(mailNode,regex,"maildiv");
}
//校验表单
function checkFrom(formNode)
{
//alter(formNode.user.value);
with(formNode)
{
if(checkUser(user) && checkPsw(psw) && checkRepsw(repsw) && checkMail(mail))
event.returnValue = true;
else
event.returnValue = false;
}
}
/*麻烦一点的:校验用户名
function checkUser(userNode)
{

var value = userNode.value;//获取值
//alert(value);
var regex = /^\w{3,5}$/i; //定义正则表达式 //--正则表达式写错了:{}写出()了
var divNode = document.getElementById("userdiv");
if(regex.test(value)){
userNode.className = "norm";
divNode.style.display = "none";
}
else{
userNode.className = "error";
divNode.style.display = "block";
}
}
*/
</script>


</head>
<body>
<!--
1、定义页面:通过表格来格式化表单。表格的行都有自己的背景颜色(页面格式、样式)
将单元格中的数据提供div进行封装。以便操作
2、定义样式。
表格的样式。div的样式
3、动态效果。
1、页面加载时,将所有的输入框默认的框线颜色以及定义获取焦点时的框线颜色。
2、进行内容的校验,可以通过正则表达式完成,并通过框线的样式给用户提示。
通过对刚才用户名校验的分析:发现代码重复度很高:提高复用性,将不同内容作为参数传递,相同内容进行函数封装
--->


<form οnsubmit="checkForm(this)">
<table>
<tr>
<th>注册表单</th>
</tr>
<tr>
<td>
<div>用户名</div>
<div><input type="text" name="user" οnblur="checkUser(this)"/></div>
<div class="errorinfo" id="userdiv">用户名错误,请按要求输入</div>
<div>用户名要求:字母数字或下划线组成,10位以内,只能以字母开头</div>
</td>
</tr>
<tr>
<td>
<div><span>密码</span> <span id="repswspan">确认密码</span></div>
<div>
<input type="password" name="psw" οnblur="checkPsw(this)" />
<input type="password" name="repsw" οnblur="checkRepsw(this)" />
</div>
<div class="errorinfo" id="pswdiv">密码格式错误,请按规范输入</div>
<div class="errorinfo" id="repswdiv">两次密码输入不一致</div>
<div>密码:6-16位任意字符</div>
</td>
</tr>
<tr>
<td>
<div>邮件地址</div>
<div>
<input type="text" name="mail" οnblur="checkMail(this)" />
</div>
<div class="errorinfo"  id="maildiv">邮件地址错误,请按要求输入</div>
</td>
</tr>
<tr>
<th>
<input type="submit" value="提交数据" />
</th>
</tr>
</table>


</form>




</body>


















</html>

















------- android培训java培训、期待与您交流! ----------
regedit.jsp <%@ page contentType="text/html;charset=UTF-8"%> <script language="javascript"> function on_submit() { if (form1.username.value == "") { alert("用户名不能为空,请输入用户名!"); form1.username.focus(); return false; } if (form1.userpassword.value == "") { alert("用户密码不能为空,请输入密码!"); form1.userpassword.focus(); return false; } if (form1.userpassword2.value == "") { alert("用户确认密码不能为空,请输入密码!"); form1.userpassword2.focus(); return false; } if (form1.userpassword.value != form1.userpassword2.value) { alert("密码与确认密码不同"); form1.userpassword.focus(); return false; } } </script> <script language="javascript"> function check(action) { form1.action=action; form1.submit(); if (form1.username.value == "") { alert("用户名不能为空,请输入用户名!"); window.location.href="regedit.jsp"; } } </script> <html> <head> <title>无标题文档</title> </head> <body> <form name="form1" method="post" action="regeditIn.jsp" onSubmit="return on_submit()"> 用户名: <input type="text" name="username"/> <input type="button" name="Button" value="检测用户" onClick="check('checkuser.jsp')"> <p>密码: <input type="password" name="userpassword"/> </p> <p>确认密码: <input type="password" name="userpassword2"/> </p> <p> <select name="selectlogrole"> <option value="student">学生</option> <option value="teacher">老师</option> <option value="admin">管理员</option> </select> </p> <p align="left"> <input type="submit" name="Submit" value="提交"/> </p> </form> </body> </html> regeditIn.jsp <%@ page contentType="text/html;charset=UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="Bean.QueryBean" %> <jsp:useBean id="query" class="Bean.QueryBean" scope="session"> <jsp:setProperty name="query" property="*"/> </jsp:useBean> <html> <body> <% request.setCharacterEncoding("UTF-8"); String name=request.getParameter("username"); String password=request.getParameter("userpassword"); String s=request.getParameter("selectlogrole"); String str="select username from userinfo where username='"+name+"'"; ResultSet rs=query.executeQuery(str); if(rs.next()){ %> <script language="javascript"> alert("此用户已经被占用请重新注册"); history.back(); </script> <% }else{ String sql="insert into userinfo(username,userpassword,logrole) values('"+name+"','"+password+"','"+s+"')"; boolean sert=query.executeUpdata(sql); if(sert) {%> <script language="javascript"> alert("注册成功"); window.location.href="index.jsp"; </script> <% }else { %> <script language="javascript"> alert("注册失败!!"); history.back(); </script> <% } } %> </body> </html> checkuser.jsp <%@ page contentType="text/html;charset=UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="Bean.QueryBean" %> <jsp:useBean id="query" class="Bean.QueryBean" scope="session"> <jsp:setProperty name="query" property="*"/> </jsp:useBean> <html> <body> <% request.setCharacterEncoding("UTF-8"); String name=request.getParameter("username"); String str="select username from userinfo where username='"+name+"'"; ResultSet rs=query.executeQuery(str); if(rs.next()){ %> <script language="javascript"> alert("此用户已经被占用"); history.back(); </script> <% } else { %> <script language="javascript"> alert("此用户可用"); history.back(); </script> <% } %> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值