老师帮我看一下,应该怎么改进?
来源:4-8 编程练习
都知欢聚最难得
2019-10-24 17:12:14
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>注册表</title> <style type="text/css"> *{ padding: 0; margin: 0; font-family: "微软雅黑"; } .box{ width: 800px; margin: 0 auto; } .title{ width: 780px; height: 40px; padding-left: 20px; background-color:#6bbefd; line-height: 40px; font-size: 16px; color: white; text-align: left; } .content{ background-color: #f4f4f4; width: 800px; padding-top: 30px; padding-bottom: 15px; } .form{ margin-left: 260px; } .tip{ font-size: 10px; color: red; text-align: left; padding-left: 10px; line-height: 30px; display: none; } .trname{ font-size: 14px; line-height: 30px; } tr{ height: 30px; } input{ height: 20px; width: 160px; } select{ height: 24px; width: 164px; } .subbtn{ display: block; margin: 40px auto; height: 30px; width: 65px; } </style> </head> <body> <div class="box"> <p class="title">用户注册</p> <div class="content"> <table class="form"> <tr> <td class="trname">用户名:</td> <td><input class="username" type="text" name=""></td> <td class="tip">6-20位字母、数字或“_”,字母开头</td> </tr> <tr> <td class="trname">登录密码:</td> <td><input class="userpsd" type="text" name=""></td> <td class="tip">数字、字母或符号,中间不能有空格</td> </tr> <tr> <td class="trname">确认密码:</td> <td><input class="confirmpsd" type="text" name=""></td> </tr> <tr> <td class="trname">姓名:</td> <td><input class="realname" type="text" name=""></td> <td class="tip">两位到四位的中文</td> </tr> <tr> <td class="trname">性别:</td> <td> <select class="gender"> <option value="boy">男</option> <option value="girl" selected>女</option> </select> </td> </tr> <tr> <td class="trname">身份证号:</td> <td><input class="idcardnum" type="text" name=""></td> <td class="tip">请输入身份证号码</td> </tr> <tr> <td class="trname">邮箱:</td> <td><input class="emailid" type="text" name=""></td> <td class="tip">请输入邮箱</td> </tr> <tr> <td class="trname">手机号码:</td> <td><input class="phonenum" type="text" name=""></td> <td class="tip">请输入电话号码</td> </tr> </table> <button class="subbtn">提交</button> </div> </div> <script type="text/javascript"> var userName=document.getElementsByClassName('username'), userPsd=document.getElementsByClassName('userpsd'), realName=document.getElementsByClassName('realname'), idCardNum=document.getElementsByClassName('idcardnum'), emailId=document.getElementsByClassName('emailid'), phoneNum=document.getElementsByClassName('phonenum'), tip=document.getElementsByClassName('tip'); userName[0].onblur=function(){ var pattern=/^[a-zA-Z]\w{5,19}$/; if(this.value==''){ tip[0].style.display='block'; }else if(this.value.match(pattern)){ tip[0].style.display='block'; tip[0].innerHTML="OK"; }else{ tip[0].style.display='block'; tip[0].innerHTML="6-20位字母、数字或“_”,字母开头"; } } userPsd[0].onblur=function(){ var pattern=/^[a-zA-Z]\w{5,17}$/; if(this.value==''){ tip[1].style.display='block'; }else if(this.value.match(pattern)){ tip[1].style.display='block'; tip[1].innerHTML="OK"; }else{ tip[1].style.display='block'; tip[1].innerHTML="数字、字母或符号,中间不能有空格"; } } realName[0].onblur=function(){ var pattern=/^[\u4e00-\u9fa5]{2,4}$/; if(this.value==''){ tip[2].style.display='block'; }else if(this.value.match(pattern)){ tip[2].style.display='block'; tip[2].innerHTML="OK"; }else{ tip[2].style.display='block'; tip[2].innerHTML="两位到四位的中文"; } } idCardNum[0].onblur=function(){ var pattern=/^\d{15}|\d{18}$/; if(this.value==''){ tip[3].style.display='block'; }else if(this.value.match(pattern)){ tip[3].style.display='block'; tip[3].innerHTML="OK"; }else{ tip[3].style.display='block'; tip[3].innerHTML="请输入身份证号码"; } } emailId[0].onblur=function(){ var pattern=/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; if(this.value==''){ tip[4].style.display='block'; }else if(this.value.match(pattern)){ tip[4].style.display='block'; tip[4].innerHTML="OK"; }else{ tip[4].style.display='block'; tip[4].innerHTML="请输入正确邮箱地址"; } } phoneNum[0].onblur=function(){ var pattern=/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/; if(this.value==''){ tip[5].style.display='block'; }else if(this.value.match(pattern)){ tip[5].style.display='block'; tip[5].innerHTML="OK"; }else{ tip[5].style.display='block'; tip[5].innerHTML="请输入11位手机号码"; } } </script> </body> </html>
1回答
同学你好,1、密码要实现的是如下:
但是当前的正则实现的效果是与用户名一致的(个数不一致)。且使用其他字符会报错,建议:可以修改为:
2、密码输入应该是隐藏的,建议:类型可以设置为password,例:
3、身份证这里,输入16,17位的时候,也是提示正确,如下:
且18位的时候,最后一位可能是x,建议,可以修改为:
4、点击“提交”按钮的时候,验证通过则弹出验证通过。建议:可以给每个加一个标志,点击提交的时候,判断上面的几个的标志,若全是正确的,则都通过了,则提示验证通过。
希望能帮助到你,欢迎采纳。
祝学习愉快!
相似问题