上面的form 表单中密码密码判断修改为必须有大小写字母加特殊字符组成,且不小于8位
时间: 2024-03-19 08:43:16 浏览: 124
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
好的,针对您的需求,可以将前端表单中密码输入框的判断逻辑修改如下:
```html
<form>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required oninput="checkPassword()">
<span id="password-tip" style="color:red;"></span>
<br>
<button type="submit">提交</button>
</form>
<script>
function checkPassword() {
const password = document.getElementById('password').value;
const regex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]).{8,}$/;
const isValid = regex.test(password);
const tip = document.getElementById('password-tip');
if (isValid) {
tip.innerHTML = '';
} else {
tip.innerHTML = '密码必须包含大小写字母、数字和特殊字符,并且长度不小于8位';
}
}
</script>
```
这段代码的逻辑是,在密码输入框中添加了一个`oninput`事件,当用户输入密码时,会自动调用`checkPassword`函数进行密码的校验。该函数首先获取密码输入框的值,然后使用正则表达式判断密码是否符合要求。正则表达式`/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]).{8,}$/`表示密码必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符,并且长度不小于8位。如果密码符合要求,则清空提示信息;否则,在提示信息中显示具体的错误信息。
这样修改后,用户必须输入符合要求的密码才能提交表单。
阅读全文