<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
span {
color: red;
}
i {
display: none;
}
.i1 {
color: red;
}
.i2 {
color: green;
}
</style>
<body>
<form action="">
请输入账号:<input type="text" name="user"><i class="i1">正确</i><span>*</span>用户名以字母开头,必须字母和数字的组合
<br>
请输入密码:<input type="password" name="pass"><i class="i1">正确</i><span>*</span>必须数字和字母的组合 5-10 <br>
请输入手机号 :<input type="text" name="tet"><i class="i1">正确</i><br>
请输入邮箱:<input type="text" name="email"><i class="i1">正确</i><br>
<button>提交</button>
<br>
</form>
<script>
// 效果: 每个输入框失去焦点的时候,根据对应的正则,判断输入的内容是否正确
var inps = document.getElementsByTagName('input');
var is = document.getElementsByTagName('i');
// 用户名以字母开头,必须字母和数字的组合
var user = /(?!^[a-zA-Z]{6,20}$)^[a-zA-Z][a-zA-Z0-9]{5,19}$/;
// 必须数字和字母的组合 5-10
var pass = /(?!^[a-zA-Z]{5,10}$)(?!^[0-9]{5,10}$)^[a-zA-Z0-9]{5,10}$/;
var phone = /^1[3456789]\d{9}$/;
var email = /^\w{3,}@[a-zA-Z0-9]{2,}\.[a-zA-Z]{2,}$/;
var regArr = [user, pass, phone, email];
// 每个输入框
for (var i = 0; i < inps.length; i++) {
(function (s) {
inps[s].onblur = function () {
console.log(this.value);
console.log(s);
console.log(regArr[s]);
is[s].style.display = 'inline-block';
if(regArr[s].test(this.value) == true){
is[s].innerHTML = '正确';
is[s].style.color = 'green';
} else {
is[s].innerHTML = '错误';
is[s].style.color = 'red';
}
}
})(i);
}
</script>
</body>
</html>