web实验二

心不动则不痛 提交于 2020-03-10 00:01:47

通过jQuery实现用户注册身份验证,当每个文本框失去焦点时进行该文本框内容校验,并将校验信息在文本框右侧显示出结果。

具体校验要求:

1、用户名由6-18位字符组成

2、密码由6-18位字符组成,且必须包含字母、数字和标点符号

3、确认密码必须和密码相同,否则提示密码不一致

4、电子邮件必须符合电子邮件格式

5、自我介绍不能为空

6、用户点击重置时清空所有文本框内容

7、用户点击提交是将用户信息存入对象user中,同时检查性别、出生日期是否选择,如果没有就弹出提示对话框,爱好至少选择一个,否支弹出提示。 

  1 <!DOCTYPE html>
  2 <html>
  3 
  4 <head>
  5     <meta charset="UTF-8">
  6     <title>用户登录示例</title>
  7     <script src="jquery-3.4.1.js " type="text/javascript"> </script>
  8 </head>
  9 <body>
 10 <form id="userFrom" name="user" action="#" method="post">
 11     <table align="center" border="0" cellpadding="2" width="1000" >
 12         <tr>
 13             <td> 用户名</td>
 14 
 15             <td>
 16                 <input  name="username" type="text" id="txtUser">
 17             </td>
 18             <td id="info_username">*用户名由6-18位字符组成
 19             </td>
 20         </tr>
 21 
 22         <tr>
 23             <td>密&nbsp;&nbsp;码</td>
 24             <td>
 25                 <input id="txtPwd" name="password" type="password">
 26             </td>
 27             <td id="info_pwd">* 密码由6-18位字符组成,且必须包含字母、数字和标点符号</td>
 28         </tr>
 29         <tr>
 30             <td>确认密码</td>
 31             <td>
 32                 <input  name="pwdrepeat" type="password" id="txtRpt">
 33             </td>
 34             <td id="info_rpd">* 请再次输入密码</td>
 35         </tr>
 36         <tr>
 37             <td>用户类型</td>
 38             <td>
 39                 <select  name="userType" id="selUser">
 40                     <option  name="admin" value="admin">管理员</option>
 41                     <option  name="sysadmin" value="sysadmin">系统管理员</option>
 42                 </select>
 43             </td>
 44             <td>* 请选择用户类型</td>
 45         </tr>
 46         <tr>
 47             <td>性&nbsp;&nbsp;别</td>
 48             <td>
 49                 <input class="sex" type="radio" id="man" name="sex" value="male">男
 50                 <input class="sex" type="radio" id="woman" name="sex" value="2">女
 51             </td>
 52             <td>*请选择你的性别</td>
 53         </tr>
 54         <tr>
 55             <td>出生日期</td>
 56             <td>
 57                 <input class="Date" name="birthday" type="date" id="txtDate"/>
 58             </td>
 59             <td>*请选择你的出生日期</td>
 60         </tr>
 61         <tr>
 62             <td>兴趣爱好</td>
 63             <td>
 64                 <input class="hobby" type="checkbox" id="read" name="hobby" value="1">阅读
 65                 <input class="hobby" type="checkbox" id="music" name="hobby" value="2">音乐
 66                 <input class="hobby" type="checkbox" id="sport" name="hobby" value="3">运动
 67             </td>
 68             <td>*请选择兴趣爱好</td>
 69         </tr>
 70         <tr>
 71 
 72             <td>电子邮箱</td>
 73 
 74             <td>
 75                 <input name="email" type="email" id="txtMail"/>
 76             </td><td id="info_mail">* 用email找回密码</td>
 77         </tr>
 78 
 79 
 80         <tr>
 81             <td>自我介绍</td>
 82             <td>
 83                 <textarea name="introduction" id="txtIntro" cols="40" rows="5"></textarea>
 84             </td><td>*</td>
 85         </tr>
 86 
 87         <tr>
 88             <td colspan ="2"  align="center">
 89                 <input type="submit" name="submit"  id="register" value="提交"/>
 90                 <input  id="reset"type="reset"  value="重填"/>
 91             </td>
 92         </tr>
 93     </table>
 94 </form>
 95 </body>
 96 <script>
 97 
 98     $(document).ready(function() {
 99 
100 
101 
102 
103         /*用户名验证*/
104         $("#txtUser").blur(function(){
105             var username=$(this).val();
106             if(checkUserName(username)){
107                 $("#info_username").text("用户名正确");
108             }else{
109                 $("#info_username").text("用户名不符合要求,长度在8-16个字符");
110             }
111         });
112 
113         /*用户名验证功能定义*/
114 
115         function checkUserName(name){
116             var re=/^[a-zA-Z0-9]{6,18}$/;
117             if(re.test(name)){
118                 return true;
119             }
120             else{
121                 return false;
122             }
123         }
124 
125         /*密码验证*/
126         $("#txtPwd").blur(function(){
127             var password=$(this).val();
128             if(checkPwd(password)){
129                 $("#info_pwd").text("密码符合要求")
130             }else{
131                 $("#info_pwd").text("密码太简单")
132 
133             }
134         });
135         /*密码限制功能*/
136 
137         function checkPwd(pwd){
138             var re=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\s\S]{8,16}$/ ;
139             if (re.test(pwd)){
140                 return true;
141             }else{
142                 return false;
143 
144             }
145         }
146 
147         /*再次确认密码*/
148         $(function(){
149             $("#txtRpt").blur(function(){
150                 if($("#txtPwd").val()!=$("#txtRpt").val()){
151                     $("#info_rpd").text("确认密码和密码不一致");
152                 }else{
153                     $("#info_rpd").text("确认密码和密码一致");
154                 }
155 
156             })
157 
158         });
159 
160 
161         /*邮箱验证*/
162         $("#txtMail").blur(function(){
163             var mail=$(this).val();
164             if (checkMail(mail)){
165                 $("#info_mail").text("邮箱地址格式正确");
166             }else{
167                 $("#info_mail").text("邮箱地址格式不正确");
168 
169 
170             }
171         });
172 
173         /*邮箱功能*/
174         function checkMail(mail){
175             var re=/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
176             if(re.test(mail)){
177                 return true;
178             } else{
179                 return false;
180 
181             }
182         }
183 
184 
185         /*提交功能*/
186 
187         $("#register").click(function(){
188             var user={};
189             var username=$("#txtUser").val();
190             if(checkUserName(username)){
191                 user.username=username;
192             }else{
193                 alert("用户名格式不正确");
194                 return;
195             }
196             var  password=$("#txtPwd").val();
197             if(checkPwd(password)){
198                 user.password=password;
199             }else{
200                 alert("请重新输入密码");
201                 return;
202 
203             }
204             var rp=$("#txtRpt").val();
205             if(password!=rp){
206                 alert("确认密码和密码不一致");
207                 return;
208             }
209             var type=$("#selUser").val();
210             user.type=type;
211             var sex=$(".sex:checked").val();
212             if(sex!=null){user.sex=sex;
213             }else{
214                 alert("请选择性别");
215                 return ;
216             }
217 
218 
219             var birthday=$("#txtDate").val();
220 
221             if (birthday==null) {
222                 alert("请选择出生日期");
223                 return ;
224             }else{
225                 user.birthday=birthday;
226             }
227 
228 
229             var hobby=new Array();
230             $(".hobby:checked").each(function(){
231                 hobby.push($(this).val())
232 
233             });
234             if(hobby.length=0){
235                 alert("请选择爱好");
236                 return;
237             }else{
238                 user.hobby=hobby;
239             }
240             var mail=$("#txtMail").val();
241             if (checkMail(mail)){
242                 user.mail=mail;
243             }
244             else{
245                 alert("请选择日期");
246                 return;
247             }
248 
249             var  introduction=$("#txtIntro").val();
250             if(introduction==null){
251                 user.introduction=introduction;
252             }else{
253                 alert("自我介绍不能空");
254             }
255 
256             alert(user);
257         });
258 
259     });
260 
261 
262 </script>
263 </html>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!