1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3 <html>
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
6 <title>25完整的表单验证</title>
7 <script type="text/javascript">
8 /*
9
10 需求: 1.用户名不能为空
11 2.用户名长度为6-14
12 3.密码不能为空
13 4.密码长度不能小于6
14 5.确认密码要与密码一致
15
16 */
17
18 //首先为String类扩展trim方法用来去除首尾空格
19 String.prototype.trim=function(){
20
21 return this.replace(/^\s+/,"").replace(/\+$/,"");
22
23 }
24
25 function checkUsername(username){//检查用户名是否符合要求
26
27 var flag=false;
28 username=username.trim();//将用户名首尾空格去掉
29 var usernameError=document.getElementById("usernameError");//获取span对象,用来展示用户名错误信息
30
31 if(username.length==0){
32
33 usernameError.innerHTML="<font color='red'>用户名不能为空</font>";
34 flag=false;
35
36 }else if(username.length<6||username.length>14){
37
38 usernameError.innerHTML="<font color='red'>用户名长度为6-14之间</font>"
39 flag=false;
40
41 }else{
42
43 usernameError.innerHTML="";
44 flag=true;
45
46 }
47 return flag;
48 }
49
50 function clearUsernameError(){//当输入用户名的文本框获得焦点则清楚用户名错误信息
51
52 var usernameError=document.getElementById("usernameError");
53 usernameError.innerHTML="";
54
55 }
56
57 function checkPwd(pwd){//检查密码是否符合要求
58
59 var flag=false;
60 var pwdError=document.getElementById("pwdError");//获取span对象,用来展示密码错误信息
61
62 if(pwd.length==0){
63
64 pwdError.innerHTML="<font color='red'>密码不能为空</font>"
65 flag=false;
66
67 }else if(pwd.length<6){
68
69 pwdError.innerHTML="<font color='red'>密码长度不可以小于6</font>"
70 flag=false;
71
72 }else{
73
74 pwdError.innerHTML="";
75 flag=true;
76
77 }
78 return flag;
79 }
80
81 function clearPwdError(){//当输入密码的文本框获得焦点的时候,清楚密码错误信息
82
83 var pwdError=document.getElementById("pwdError");
84 pwdError.innerHTML="";
85
86 }
87
88 function checkSame(conformPwd){//检查验密码与密码是否一致
89
90 var flag=false;
91 var pwd=document.getElementById("pwd").value;//获取密码值
92 var conformPwdError=document.getElementById("conformPwdError");
93 if(pwd!=conformPwd){//若两次面不一致,则出现错误信息
94
95 conformPwdError.innerHTML="<font color='red'>两次密码不一致</font>"
96 flag=false;
97
98 }else{
99
100 conformPwdError.innerHTML="";
101 flag=true;
102
103 }
104 return flag;
105 }
106
107 function clearConformPwdError(){//当第二次输出密码的文本框获得焦点的时候,则清除展示两次密码不一样的信息
108
109 var conformPwdError=document.getElementById("conformPwdError");
110 conformPwdError.innerHTML="";
111 }
112
113 function checkAll(){
114
115 var username=document.getElementById("username").value;
116 var pwd=document.getElementById("pwd").value;
117 var conformPwd=document.getElementById("conformPwd").value;
118
119 if(checkUsername(username)&&checkPwd(pwd)&&checkSame(conformPwd)){
120
121 document.forms["userForm"].action="http://localhost:8080/oa/register";
122 document.forms["userForm"].method="get";
123 document.forms["userForm"].submit();
124
125 }
126
127 }
128
129 </script>
130 </head>
131
132
133 <body>
134
135 <form name="userForm">
136
137 用户名
138 <input type="text" name="username" id="username" onblur="checkUsername(this.value)" onfocus="clearUsernameError()"/>
139 <span id="usernameError"></span>
140 </br>
141 密码
142 <input type="password" name="pwd" id="pwd" onblur="checkPwd(this.value)" onfocus="clearPwdError()"/>
143 <span id="pwdError"></span>
144 </br>
145 确认密码
146 <input type="password" name="conformPwd" id="conformPwd" onblur="checkSame(this.value)" onfocus="clearConformPwdError()"/>
147 <span id="conformPwdError"></span>
148 </br>
149
150 <input type="button" value="注册" onclick="checkAll()" />
151 </form>
152
153 </body>
154 </html>