正则表达式验证用户名和密码JavaScript
时间: 2023-07-26 15:20:17 浏览: 179
可以使用 JavaScript 来验证用户名和密码,以下是示例代码:
```javascript
// 验证用户名
function isValidUsername(username) {
// 用户名规则:只能包含字母、数字、下划线,且长度为6-20个字符
const usernameRegex = /^[a-zA-Z0-9_]{6,20}$/;
return usernameRegex.test(username);
}
// 验证密码
function isValidPassword(password) {
// 密码规则:必须包含大小写字母和数字,且长度为8-20个字符
const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,20}$/;
return passwordRegex.test(password);
}
```
使用示例:
```javascript
const usernameInput = document.querySelector("#username");
const passwordInput = document.querySelector("#password");
usernameInput.addEventListener("blur", () => {
const username = usernameInput.value;
if (isValidUsername(username)) {
console.log("用户名格式正确");
} else {
console.log("用户名格式错误");
}
});
passwordInput.addEventListener("blur", () => {
const password = passwordInput.value;
if (isValidPassword(password)) {
console.log("密码格式正确");
} else {
console.log("密码格式错误");
}
});
```
在上面的代码中,我们获取了用户名和密码的输入框元素,并为其添加了 `blur` 事件监听器,在失去焦点时触发验证函数。如果输入的内容不符合正则表达式的规则,会在控制台输出提示信息。
如果你想要在表单提交前对用户名和密码进行验证,可以使用表单的 `submit` 事件监听器,具体代码实现可以参考以下示例:
```javascript
const form = document.querySelector("#login-form");
form.addEventListener("submit", (event) => {
const username = form.elements.username.value;
const password = form.elements.password.value;
if (!isValidUsername(username)) {
alert("用户名格式错误");
event.preventDefault();
}
if (!isValidPassword(password)) {
alert("密码格式错误");
event.preventDefault();
}
});
```
在上面的代码中,我们为表单添加了 `submit` 事件监听器,在提交表单前对用户名和密码进行验证。如果输入的内容不符合正则表达式的规则,会弹出提示框并阻止表单提交。
阅读全文