一、用戶名由6-18位字符組成javascript
二、密碼由6-18位字符組成,且必須包含字母、數字和標點符號html
三、確認密碼必須和密碼相同,不然提示密碼不一致java
四、電子郵件必須符合電子郵件格式jquery
五、自我介紹不能爲空post
六、用戶點擊重置時清空全部文本框內容this
七、用戶點擊提交是將用戶信息存入對象user中,同時檢查性別、出生日期是否選擇,若是沒有就彈出提示對話框,愛好至少選擇一個,否支彈出提示。 spa
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>密 碼</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>性 別</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>