文章目录
📄题目要求
- 阅读下列说明、效果图和代码,进行静态网页开发,填写(1)至(10)代码。
🧩说明
- 现接到某电商网站注册、登录页面开发的项目,在注册页面需要做前端验证。具体要求:用户名长度和格式验证、邮箱格式验证、密码长度和格式验证、密码与重复密码一致性验证。
项目名称为verify,包含首页index.html、css文件夹、js文件夹,其中,css文件夹包含style.css文件,js文件夹包含index.js文件。
根据注释,补全代码,在(1)至(10)处填入正确的内容。
🧩效果图
🧩补充:题目文件结构
💻HTML代码
html> <html> <head> <title>第三题title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="css/style.css"> head> <body> <div class="box" id="box"> <h2>注册h2> <form action="" method="get"> <ul> <li> <label><span>*span>用户名:label> <input type="text" name="username" placeholder="只能输入6-20个字母、数字、下划线" id="username"> li> <li> <label><span>*span>电子邮箱:label> <input type="text" name="email" placeholder="输入正确的电子邮箱地址" id="email"> li> <li> <label><span>*span>密码:label> <input type="password" name="pwd" placeholder="由字母开头,包含字母、数字、下划线,6-16位" id="pwd"> li> <li> <label><span>*span>确认密码:label> <input type="password" name="pwdOk" placeholder="确认密码必须与密码一致" id="pwdOK"> li> ul> <button name="submit">提交button> form> div> <script src="js/index.js">script> body> html>
💻CSS代码
body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd{ margin: 0; padding: 0; } ul{ list-style: none; } input{ border:0; } .clear:after{ content: ""; display: block; clear: both; } .box{ width: 500px; margin:30px auto; padding:30px 40px; border:1px solid #ddd; box-shadow: 0 0 10px #bbb; box-sizing: border-box; } .box h2{ text-align: center; color:#666; font-size: 22px; line-height: 40px; } .box form{ padding:15px 0; } .box form ul li{ display: flex; height: 40px; line-height: 40px; margin-bottom: 15px; } .box form ul li input{ border:1px solid #ddd; height: 38px; padding:0 10px; line-height: 38px; flex:1; box-sizing: border-box; } .box form ul li label{ display: block; width: 120px; } .box form ul li label span{ color:red; padding-right:10px; } .box form button{ width: 100%; border:none; height: 40px; background-color: green; color:#fff; }
💻JavaScript代码
本题考点都在JavaScript的内容
function validate_strLenght(str) { var regExp = /^(\w){6,20}$/; return regExp.test(str); } function validate_email(str) { var regExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return regExp.test(str); } function validate_pwd(str) { var regExp = /^[a-zA-Z]\w{5,15}/; return regExp.test(str); } // (1)根据表单控件user的id填写 // var username = document.getElementById(" (1) "); var username = document.getElementById("username"); //(2)通过id获取元素 // var email = document. (2) ("email"); var email = document.getElementById("email"); //(3)根据表单控件pwd的id填写 // var pwd = document.getElementById(" (3) "); var pwd = document.getElementById("pwd"); //(4)通过id获取元素 // var pwdOK = document. (4) ("pwdOK"); var pwdOK = document.getElementById("pwdOK"); //(5)通过标签名获取元素 // var form = document. (5) ("form")[0]; var form = document.getElementsByTagName("form")[0]; //(6)表单提交 // form. (6) = function () { form.onsubmit = function () { //(7)(8)使用自定义方法验证用户名、验证邮箱 // if (validate_strLenght( (7) ) && (8) (email.value) && validate_pwd(pwd.value) && checkOk()) { if (validate_strLenght(username.value) && validate_email(email.value) && validate_pwd(pwd.value) && checkOk()) { console.log(username.value) console.log(email.value) console.log(pwd.value) return false; } else { //(9)控制台输出 // (9) .log("验证失败") console.log("验证失败") return false; } } // 检查用户名 username.onblur = function () { if (validate_strLenght(username.value)) { console.log("用户名符合要求") } else { console.log("用户名不符合要求") } } //检查meil email.onblur = function () { if (validate_email(email.value)) { console.log("邮箱格式符合要求") } else { console.log("邮箱格式不符合要求") } } // (10)密码框失去焦点的时候 // pwd. (10) = function () { pwd.onblur = function () { if (validate_pwd(pwd.value)) { console.log("密码符合要求") } else { console.log("密码不符合要求") } } function checkOk() { if (pwd.value == pwdOK.value) { console.log("密码与重复密码一致") return true } else { console.log("密码与重复密码不一致") return false } } pwdOK.onkeyup = checkOk
🎯实现效果
输入要求如下。
1️⃣测试一
首先输入符合要求的信息。
2️⃣测试二
输入不符合要求的信息。
📰完整答案
试题三(20分)
【问题】(20分)
(1)username
(2)getElementById
(3)pwd
(4)getElementById
(5)getElementsByTagName
(6)onsubmit
(7)username.value
(8)validate_email
(9)console
(10)onblur
(每空2分,共20分)
🎯点赞收藏,防止迷路🔥
