请老师帮忙检查一下
来源:4-8 编程练习
Carol246
2019-07-16 06:36:58
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; padding: 0; } body{ background-color: #eee; overflow-y: scroll; } .wrap > .header{ height: 40px; line-height: 40px; background-color: #3092D1; padding-left: 20px; color: #fff; font-size: 18px; } .wrap > .con{ width: 600px; margin: 50px auto; } .wrap > .con > .item{ margin-top: 20px; } .wrap > .con > .item > .text{ display: inline-block; width: 100px; text-align: right; } .wrap > .con > .item > .input{ width: 200px; box-sizing: border-box; } .wrap > .con > .item > .prompt{ color: #f00; font-size: 13px; } .wrap > .con > .submit{ width: 80px; height: 40px; background-color: #3092D1; border: 1px solid #333; border-radius: 4px; color: #fff; font-size: 16px; margin: 30px 170px; } </style> </head> <body> <div class="wrap"> <div class="header">用户注册</div> <div class="con"> <p class="username item"> <span class="text">用户名:</span> <input type="text" class="input"> <span class="prompt"></span> </p> <p class="password item"> <span class="text">登录密码:</span> <input type="password" class="input"> <span class="prompt"></span> </p> <p class="confirm item"> <span class="text">确认密码:</span> <input type="password" class="input"> <span class="prompt"></span> </p> <p class="name item"> <span class="text">姓名:</span> <input type="text" class="input"> <span class="prompt"></span> </p> <p class="sex item"> <span class="text">性别:</span> <select class="input"> <option value="male">男</option> <option value="female">女</option> </select> <span class="prompt"></span> </p> <p class="IDCard item"> <span class="text">身份证号码:</span> <input type="text" class="input"> <span class="prompt"></span> </p> <p class="email item"> <span class="text">邮箱:</span> <input type="text" class="input"> <span class="prompt"></span> </p> <p class="telephone item"> <span class="text">手机号码:</span> <input type="text" class="input"> <span class="prompt"></span> </p> <button class="submit">提交</button> </div> </div> <script> // 获取模块 var item = { username: document.querySelector('.username'), password: document.querySelector('.password'), confirm: document.querySelector('.confirm'), name: document.querySelector('.name'), IDCard: document.querySelector('.IDCard'), email: document.querySelector('.email'), telephone: document.querySelector('.telephone'), btn: document.querySelector('.submit') }; // 获取输入框 var input = { username: item.username.querySelector('.input'), password: item.password.querySelector('.input'), confirm: item.confirm.querySelector('.input'), name: item.name.querySelector('.input'), IDCard: item.IDCard.querySelector('.input'), email: item.email.querySelector('.input'), telephone: item.telephone.querySelector('.input') }; // 获取用于显示提示语的文本框 var prompt = { username: item.username.querySelector('.prompt'), password: item.password.querySelector('.prompt'), confirm: item.confirm.querySelector('.prompt'), name: item.name.querySelector('.prompt'), IDCard: item.IDCard.querySelector('.prompt'), email: item.email.querySelector('.prompt'), telephone: item.telephone.querySelector('.prompt') }; // 定义提示语 var promptText = { username: '6-20位字母、数字或“_”,字母开头', password: '6-18位,包含数字、字母或符号,中间不能有空格', confirm: '两次输入密码不一致', name: '真实姓名为两位到四位的中文', IDCard: '请输入18位的身份证号码', email: '邮箱格式不正确', telephone: '电话号码不正确' }; // 定义正则表达式 var regexp = { username: /^[a-z]\w{5,19}$/i, password: /^\S{6,18}$/, name: /^[\u4e00-\u9fa5]{2,4}$/, IDCard: /^\d{15,18}$|^\d{17}x$/, email: /^(?:[a-z0-9]|[a-z0-9]\w*[a-z0-9])@(?:[a-z]+\.)+(?:com|cn)$/i, telephone: /^1(?:3\d|47|5[0-35-9]|8[025-9])\d{8}$/ }; // 验证函数 function check(k){ if(k === 'confirm'){ input[k].onblur = function(){ if(this.value === ''){ prompt[k].innerHTML = '请设置密码'; }else if(this.value === input['password'].value){ prompt[k].innerHTML = 'OK'; }else{ prompt[k].innerHTML = promptText[k]; } }; return; } input[k].onblur = function(){ if(regexp[k].test(this.value)){ prompt[k].innerHTML = 'OK'; }else{ prompt[k].innerHTML = promptText[k]; } } } for(var k in input){ check(k); } // 绑定提交按钮的事件 item.btn.onclick = function(){ var result = true; for(var l in input){ input[l].onblur(); if(prompt[l].innerHTML !== 'OK'){ result = false; } } if(result){ alert('验证成功!'); } } </script> </body> </html>
1回答
同学你好!
代码效果实现的是可以的
验证邮箱的时候@后面可以添加上数字,如123123@163.com也需要通过验证:
如果帮助到了你 欢迎采纳 祝学习愉快~
相似问题