老师 帮检查下作业 感觉写的太复杂了 功能上也有问题 帮我详细解答下吧
来源:2-25 项目作业
qq_慕神8318241
2021-10-19 11:12:15
<div>
<div>
<i>*</i>用户名
<input type="text" placeholder="用户名设置成功后不可修改" class="user" id="user">
<span class="usertips" id="usertips">6-30位字母、数字或_,以字母开头</span>
</div>
<div class="psw">
<i>*</i>登录密码
<input type="password" placeholder="6-20位字母或数字组成" class="pw" id="pw">
<ul id="ul">
<li></li>
<li></li>
<li></li>
</ul>
<span class="pwtips" id="pwtips">6-20位字母或数字</span>
</div>
<div>
<i>*</i>确认密码
<input type="password" placeholder="再次输入您的登录密码" class="pw2" id="pw2">
<span class="pw2tips" id="pw2tips">输入框不能为空</span>
</div>
<input type="button" id="submit" class="submit" value="注册">
</div>
<script>
var user = document.getElementById("user");
var usertips = document.getElementById("usertips");
var pw = document.getElementById("pw");
var pwtips = document.getElementById("pwtips");
var ul = document.getElementById("ul");
var pw2 = document.getElementById("pw2");
var pw2tips = document.getElementById("pw2tips");
var submit = document.getElementById("submit");
user.onblur = function () {
if (/^[a-zA-Z]\w{5,29}$/.test(user.value)) {
usertips.innerText = "用户名输入正确";
usertips.style.color = "#2bdb4a";
} else {
usertips.innerText = "6-30位字母、数字或’_’,字母开头";
usertips.style.color = "red";
}
}
pw.onblur = function () {
if (/^[a-zA-Z0-9]{6,20}$/.test(pw.value)) {
pwtips.style.display = "none";
pw2tips.innerText = "";
if (/^[a-z]{6,20}$|^[A-Z]{6,20}$|^\d{6,20}$/.test(pw.value)) {
ul.children[0].style.backgroundColor = "red";
ul.children[1].style.backgroundColor = "gray";
ul.children[2].style.backgroundColor = "gray";
} else if (/^[a-zA-Z]{6,20}$|^[a-z0-9]{6,20}$|^[A-Z0-9]{6,20}$/.test(pw.value)) {
ul.children[0].style.backgroundColor = "red";
ul.children[1].style.backgroundColor = "orange";
ul.children[2].style.backgroundColor = "gray";
} else {
ul.children[0].style.backgroundColor = "red";
ul.children[1].style.backgroundColor = "orange";
ul.children[2].style.backgroundColor = "green";
}
} else {
pwtips.innerText = "6-20位字母或数字";
pwtips.style.color = "red";
pwtips.style.display = "block";
ul.children[0].style.backgroundColor = "gray";
}
}
pw2.onfocus = function () {
if (!pw.value) {
pw2tips.innerText = "请先输入注册密码";
pw2tips.style.display = "inline";
}
}
pw2.onblur = function () {
if (!pw2.value) {
pw2tips.style.display = "inline";
} else if (pw2.value != pw.value) {
pw2tips.innerText = "两次密码输入不一致,请重新输入";
pw2tips.style.display = "inline";
} else {
pw2tips.innerText = "两次输入一致";
}
}
submit.onclick = function(){
if(/^[a-zA-Z]\w{5,29}$/.test(user.value) && /^[a-zA-Z0-9]{6,20}$/.test(pw.value) && pw2.value == pw.value){
alert("信息填写正确");
}else{
alert("请填写正确的信息");
}
}
1回答
好帮手慕小李
2021-10-19
同学你好,当前阶段能这样实现,就很棒了。
建议:
1、 当登录密码,与确认密码相同时,确认密码的提示‘两次输入一致’字颜色应变成绿色,如不一致则提示为红字。
优化建议:
1、 同学写代码的时候,尽量在html css js 部分写一些代码注释,这样方便自己阅读哟~
2、 同学下次再交作业的时候请把作业中包含的html css js 一并粘贴过来,要不然老师这边看不到同学写的样式。
3、 要对自己有信心,加油~
祝学习愉快~
相似问题