请用js书写一个简单的账号为9到11位数字,密码位7-17位英文字母加数字的表单验证
时间: 2024-04-21 10:23:00 浏览: 119
以下是使用JavaScript编写的简单表单验证,要求账号为9到11位数字,密码为7到17位英文字母和数字的组合:
```javascript
function validateForm() {
var account = document.getElementById("account").value;
var password = document.getElementById("password").value;
var accountRegex = /^\d{9,11}$/;
var passwordRegex = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z0-9]{7,17}$/;
if (!accountRegex.test(account)) {
alert("账号必须为9到11位数字");
return false;
}
if (!passwordRegex.test(password)) {
alert("密码必须为7到17位英文字母和数字的组合");
return false;
}
return true;
}
```
在上述代码中,我们定义了一个名为`validateForm()`的函数,用于表单验证。首先,我们通过`document.getElementById()`获取账号和密码输入框的值。然后,我们使用正则表达式进行验证。
`accountRegex`正则表达式`/^\d{9,11}$/`用于验证账号,要求为9到11位数字。
`passwordRegex`正则表达式`/^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z0-9]{7,17}$/`用于验证密码,要求为7到17位英文字母和数字的组合。它使用了正向前瞻来确保同时包含字母和数字。
如果输入的账号或密码不符合要求,将弹出相应的错误提示,并返回`false`以阻止表单提交。如果符合要求,则返回`true`,允许表单提交。
你可以将上述代码嵌入到你的HTML页面中,然后在表单的提交事件中调用`validateForm()`函数来进行验证。例如:
```html
<form onsubmit="return validateForm()">
<label for="account">账号:</label>
<input type="text" id="account" name="account">
<label for="password">密码:</label>
<input type="password" id="password" name="password">
<input type="submit" value="提交">
</form>
```
当用户点击提交按钮时,会触发表单的提交事件,并调用`validateForm()`函数进行验证。如果验证通过,表单将被提交;否则,将弹出错误提示。
阅读全文