js使用正则表达式测试用户名、密码和手机号是否符合要求。 要求:密码--长度8~20位,英文大小写字母、数字、特殊符号(键盘最上的符号) 确认密码--和密码内容一样。 用户名--长度6~10位,英文大小写字母 手机号--以13、15、16、17、18、19开头的11位数字
时间: 2023-11-14 08:05:38 浏览: 158
正则表达式验证用户名、密码、手机号码、身份证(推荐)
好的,以下是使用正则表达式在 JavaScript 中测试用户名、密码和手机号是否符合要求的代码:
```javascript
// 测试密码
function testPassword(password) {
const reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[A-Za-z\d\W_]{8,20}$/;
return reg.test(password);
}
// 测试用户名
function testUsername(username) {
const reg = /^[A-Za-z]{6,10}$/;
return reg.test(username);
}
// 测试手机号
function testPhoneNumber(phoneNumber) {
const reg = /^1[3456789]\d{9}$/;
return reg.test(phoneNumber);
}
// 测试确认密码
function testConfirmPassword(password, confirmPassword) {
return password === confirmPassword;
}
// 示例
const password = 'Abc123!@#';
const username = 'myusername';
const phoneNumber = '13812345678';
const confirmPassword = 'Abc123!@#';
if (testPassword(password)) {
console.log('密码格式正确');
} else {
console.log('密码格式错误');
}
if (testUsername(username)) {
console.log('用户名格式正确');
} else {
console.log('用户名格式错误');
}
if (testPhoneNumber(phoneNumber)) {
console.log('手机号格式正确');
} else {
console.log('手机号格式错误');
}
if (testConfirmPassword(password, confirmPassword)) {
console.log('确认密码和密码一致');
} else {
console.log('确认密码和密码不一致');
}
```
以上代码中,我们分别定义了 `testPassword`、`testUsername`、`testPhoneNumber` 和 `testConfirmPassword` 四个函数,分别用于测试密码、用户名、手机号和确认密码是否符合要求。这四个函数都是基于正则表达式进行验证的。
最后,我们使用示例数据进行测试,并将结果输出到控制台。
阅读全文