正则匹配不是以4和7结尾的手机号
时间: 2024-02-22 11:55:51 浏览: 27
可以使用正则表达式来匹配不以4和7结尾的手机号,正则表达式如下:
```
^1\d{9}(?<!4|7)$
```
解释一下:
- `^`:匹配字符串的开头
- `1`:匹配手机号码的开头,因为手机号码都是以1开头
- `\d{9}`:匹配9个数字,即手机号码的中间9位
- `(?<!4|7)`:负向零宽断言,表示不允许前面出现4或7
- `$`:匹配字符串的结尾
这个正则表达式可以匹配不以4和7结尾的11位手机号码。
相关问题
js 手机号码正则匹配
JS 中可以使用正则表达式对字符串进行匹配,下面是一个判断手机号码格式是否正确的正则表达式:
```javascript
/^1[3456789]\d{9}$/
```
其中,`^` 表示以什么开头,`$` 表示以什么结尾,`[3456789]` 表示手机号码的第二位可能是 3、4、5、6、7、8、9 中的一个,`\d` 表示任意数字,`{9}` 表示重复前面的数字匹配 9 次,因此整个正则表达式可以匹配 11 位手机号码。
下面是一个示例代码,用于判断一个字符串是否为手机号码:
```javascript
function isPhoneNum(str) {
const reg = /^1[3456789]\d{9}$/;
return reg.test(str);
}
```
正则匹配手机号
可以使用如下正则表达式匹配手机号:
```
^1[3-9]\d{9}$
```
解释如下:
- `^` 表示匹配字符串的开头
- `1` 表示匹配数字 1
- `[3-9]` 表示匹配数字 3 到 9 中的任意一个
- `\d{9}` 表示匹配任意 9 个数字
- `$` 表示匹配字符串的结尾
所以,以上正则表达式可以匹配以数字 1 开头,第二位是数字 3 到 9 中的任意一个,后面跟着 9 个数字的字符串,即手机号。