(一)验证二次输入密码一致。要求: (本题15分) 1、输入框获得焦点时改变输入框背景色(颜色自定义),失去焦点后恢复原颜色。 2、密码由数字和大小写字母中至少二种组成,长度为6至10位,密码输入后以“*”号显示,输入完成后输入框失去焦点时,用正则表达式进行判断密码形式是否满足要求,输入有误时在输入框后面显示输入密码类型或长度错误。 3、从二个文本框中输入密码一致时,用警告框提示验证通过,否则提示不通过; 4、验证三次密码不一致时,验证按钮禁用3分钟,3分钟之后解除禁止。 5、使用jQuery完成本题。
时间: 2024-03-11 11:48:41 浏览: 93
好的,我来为您解答这个问题。
以下是代码实现,注释中有详细说明:
```html
<!DOCTYPE html>
<html>
<head>
<title>验证密码</title>
<meta charset="utf-8">
<style type="text/css">
input[type="password"] {
padding: 5px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #fff;
}
.error {
color: red;
font-size: 12px;
margin-top: 5px;
}
.success {
color: green;
font-size: 12px;
margin-top: 5px;
}
</style>
</head>
<body>
<h2>验证密码</h2>
<p>请输入密码:</p>
<input type="password" id="password1">
<p>再次确认密码:</p>
<input type="password" id="password2">
<button id="check">验证</button>
<div id="result"></div>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
// 定义一个变量表示验证次数
var count = 0;
// 定义一个变量表示禁用时间
var disableTime = 3 * 60 * 1000; // 3分钟
// 定义一个变量表示定时器
var timer;
// 定义一个函数,用于检查输入的密码是否符合要求
function checkPassword(password) {
// 定义一个正则表达式,用于匹配密码
var reg = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,10})$/;
// 使用正则表达式进行匹配
if (!reg.test(password)) {
return false;
}
return true;
}
// 绑定事件:输入框获得焦点时改变输入框背景色,失去焦点后恢复原颜色
$('input[type="password"]').focus(function() {
$(this).css('background-color', '#eee');
}).blur(function() {
$(this).css('background-color', '#fff');
});
// 绑定事件:检查输入的密码是否符合要求
$('input[type="password"]').blur(function() {
var id = $(this).attr('id');
var password = $(this).val();
// 如果密码为空,则不进行检查
if (!password) {
return;
}
// 检查密码是否符合要求
if (!checkPassword(password)) {
$('#' + id).after('<div class="error">密码必须由数字和大小写字母中至少二种组成,长度为6至10位</div>');
} else {
$('#' + id).next('.error').remove();
}
});
// 绑定事件:验证密码是否一致
$('#check').click(function() {
var password1 = $('#password1').val();
var password2 = $('#password2').val();
// 如果密码为空,则提示错误信息
if (!password1 || !password2) {
$('#result').html('<div class="error">请输入密码</div>');
return;
}
// 检查密码是否符合要求
if (!checkPassword(password1) || !checkPassword(password2)) {
$('#result').html('<div class="error">密码必须由数字和大小写字母中至少二种组成,长度为6至10位</div>');
return;
}
// 检查两次密码是否一致
if (password1 !== password2) {
$('#result').html('<div class="error">两次输入的密码不一致</div>');
// 次数加1
count++;
// 如果验证次数已经达到3次,则禁用验证按钮
if (count >= 3) {
$('#check').prop('disabled', true);
// 启动定时器,3分钟后解除禁用
timer = setTimeout(function() {
$('#check').prop('disabled', false);
count = 0;
}, disableTime);
}
return;
}
// 验证通过,显示成功信息
$('#result').html('<div class="success">验证通过</div>');
});
</script>
</body>
</html>
```
希望能帮到您!
阅读全文