6-20数字再次验证密码正则表达式
时间: 2023-11-08 16:13:17 浏览: 44
好的,以下是符合要求的正则表达式:
```
^[0-9]{6,20}$
```
解释一下:
- `^` 表示字符串的开头
- `[0-9]` 表示数字,等价于 `\d`
- `{6,20}` 表示匹配 6 到 20 个数字
- `$` 表示字符串的结尾
因此,以上正则表达式可以匹配一个长度在 6 到 20 的纯数字密码。
相关问题
html 提交的表单的输入的信息进行正则表达式的验证,如下:(1)用户名长度为6-12位,只能由字母、数字、下划线组成。 (2)密码必须包含数字和大小写字母,长度为6-12位。(正则表达式自己去网上搜索) (3)确认密码要和原密码一致。 (4)移动电话必须符合实际。 (5)其它必填项不能为空。 (6)数据输入完后,点击“发送”按钮,跳转到“ok.html”页面,在该页面中显示“恭喜,注册成功!”。
可以使用 HTML5 提供的 `pattern` 属性和正则表达式来限制表单的格式,同时使用 JavaScript 来验证表单数据是否正确。示例代码如下:
```html
<!-- 在注册页面中 -->
<form>
<label>用户名:<br>
<input type="text" name="username" pattern="[a-zA-Z0-9_]{6,12}" required>
</label>
<br>
<label>密码(包含数字和大小写字母,长度为 6-12 位):<br>
<input type="password" name="password" pattern="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6,12}$" required>
</label>
<br>
<label>确认密码:<br>
<input type="password" name="confirmPassword" required>
</label>
<br>
<label>移动电话(格式为 11 位数字):<br>
<input type="tel" name="phone" pattern="^\d{11}$" required>
</label>
<br>
<label>其他必填项:<br>
<textarea name="other" required></textarea>
</label>
<br>
<button type="submit">发送</button>
</form>
<!-- 在 ok.html 页面中 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册成功</title>
</head>
<body>
<h1>恭喜,注册成功!</h1>
<!-- 可以在这里添加其他内容 -->
<script>
// 获取表单数据
const form = document.querySelector('form');
const username = form.elements.username.value;
const password = form.elements.password.value;
const confirmPassword = form.elements.confirmPassword.value;
const phone = form.elements.phone.value;
const other = form.elements.other.value;
// 验证数据是否正确
const usernameRegex = /^[a-zA-Z0-9_]{6,12}$/;
const passwordRegex = /^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6,12}$/;
const phoneRegex = /^\d{11}$/;
if (!usernameRegex.test(username)) {
alert('用户名格式不正确!');
} else if (!passwordRegex.test(password)) {
alert('密码格式不正确!');
} else if (password !== confirmPassword) {
alert('两次密码不一致!');
} else if (!phoneRegex.test(phone)) {
alert('手机号格式不正确!');
} else if (other.trim() === '') {
alert('其他必填项不能为空!');
} else {
alert('恭喜,注册成功!');
window.location.href = '/ok.html';
}
</script>
</body>
</html>
```
在上述代码中,我们为每个输入框添加了 `pattern` 属性,用于限制输入的格式。然后,在用户点击“发送”按钮后,我们使用 JavaScript 获取表单数据,并分别使用正则表达式验证数据是否正确。如果数据不正确,弹出相应的提示信息;否则,跳转到 "/ok.html" 页面,并显示注册成功的信息。
需要注意的是,以上代码只是简单示例,实际情况下,我们需要对表单数据进行更严格的验证和处理。同时,前端验证只是起到提示作用,后端也需要再次验证,以防止恶意提交数据。
<!--(一)验证二次输入密码一致。要求: (本题15分) 1、输入框获得焦点时改变输入框背景色(颜色自定义),失去焦点后恢复原颜色。 2、密码由数字和大小写字母中至少二种组成,长度为6至10位,密码输入后以“*”号显示, 输入完成后输入框失去焦点时,用正则表达式进行判断密码形式是否满足要求, 输入有误时在输入框后面显示输入密码类型或长度错误。 3、从二个文本框中输入密码一致时,用警告框提示验证通过,否则提示不通过; 4、验证三次密码不一致时,验证按钮禁用3分钟,3分钟之后解除禁止。 5、使用jQuery完成本题。-->完成上述要求,并用js,jquery代码完成
好的,下面是使用jQuery完成密码验证的代码:
HTML代码:
```html
<div>
<label>请输入密码:</label>
<input type="password" id="password1" />
</div>
<div>
<label>请再次输入密码:</label>
<input type="password" id="password2" />
</div>
<div>
<button id="submitBtn">验证</button>
</div>
<div id="errorMsg"></div>
```
jQuery代码:
```js
$(function() {
// 设置密码输入框获得焦点时的背景色
$('input[type=password]').focus(function() {
$(this).css('background-color', '#e6f1f6');
});
// 设置密码输入框失去焦点时恢复原背景色
$('input[type=password]').blur(function() {
$(this).css('background-color', '#fff');
});
// 设置密码输入框输入内容变化时显示*号
$('input[type=password]').bind('input propertychange', function() {
var val = $(this).val();
var star = '';
for (var i = 0; i < val.length; i++) {
star += '*';
}
$(this).val(star);
});
// 点击验证按钮时进行密码验证
$('#submitBtn').click(function() {
var password1 = $('#password1').val(); // 获取第一个密码框中的密码
var password2 = $('#password2').val(); // 获取第二个密码框中的密码
if (!isValidPassword(password1)) { // 验证第一个密码框中的密码格式
$('#errorMsg').text('密码格式不正确');
} else if (password1 !== password2) { // 验证两个密码框中的密码是否一致
$('#errorMsg').text('两次输入的密码不一致');
checkDisabled(); // 检查是否需要禁用验证按钮
} else { // 验证通过
alert('验证通过');
}
});
// 验证密码格式是否正确
function isValidPassword(password) {
var pattern = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,10})$/;
return pattern.test(password);
}
// 检查是否需要禁用验证按钮
var errorCount = 0; // 记录验证不通过的次数
function checkDisabled() {
errorCount++;
if (errorCount === 3) { // 如果验证不通过的次数达到3次,就禁用验证按钮
$('#submitBtn').attr('disabled', true);
setTimeout(function() {
$('#submitBtn').removeAttr('disabled');
errorCount = 0; // 重置验证不通过的次数
}, 180000); // 3分钟后解除禁用
}
}
});
```