基于js使用正则表达式校验手机号是否正确
时间: 2023-06-08 13:04:50 浏览: 96
可以的,请输入以下代码:
```javascript
let reg = /^[1][3,4,5,7,8][0-9]{9}$/;
let phoneNum = '13712345678'; // 替换为需要校验的手机号码
if(reg.test(phoneNum)) {
console.log('手机号码格式正确');
} else {
console.log('手机号码格式不正确');
}
```
相关问题
js正则如何校验手机号
以下是JS正则校验手机号的方法:
```javascript
function checkPhone(phone) {
// 定义手机号正则表达式
var reg = /^1[3456789]\d{9}$/;
// 判断手机号是否合法
if (reg.test(phone)) {
console.log('手机号合法');
return true;
} else {
console.log('手机号不合法');
return false;
}
}
```
以上代码中,我们定义了一个`checkPhone`函数,该函数接收一个参数`phone`,用于传入需要校验的手机号。函数内部定义了一个正则表达式`reg`,该正则表达式用于判断手机号是否合法。如果手机号合法,则返回`true`,否则返回`false`。
正则表达式 表达 脱敏手机号
以下是使用正则表达式对手机号进行脱敏的示例代码:
```javascript
// 定义一个手机号
let mobile = "13588888888";
// 定义手机号正则表达式
let reg = /^(1[3-9][0-9])\d{4}(\d{4}$)/;
// 判断手机号是否能够通过正则校验
let isMobile = reg.test(mobile);
console.log(isMobile);
// 将手机号中间4位用*号进行显示
let hiddenMobile = mobile.replace(reg, "$1****$2");
console.log(hiddenMobile);
```
运行以上代码,输出结果为:
```
true
135****8888
```
其中,正则表达式`/^(1[3-9][0-9])\d{4}(\d{4}$)/`用于匹配手机号码,其中:
- `^`表示字符串的开头;
- `(1[3-9][0-9])`表示以1开头,第二位为3-9之间的数字,第三位为0-9之间的数字;
- `\d{4}`表示匹配4个数字;
- `(\d{4}$)`表示以4个数字结尾,并将这4个数字作为第二个分组;
- `$`表示字符串的结尾。
`replace()`方法用于将匹配到的字符串替换为指定的字符串,其中`$1`表示第一个分组,即手机号码中的前7位,`$2`表示第二个分组,即手机号码中的后4位。