139****2564用正则表达式怎么写
时间: 2023-11-25 18:50:16 浏览: 25
以下是匹配139****2564的正则表达式:
```python
import re
phone_number = '13912345678'
rule = r'139\d{4}(\d{2})\d{2}'
result = re.sub(rule, r'139****\1', phone_number)
print(result) # 输出:139****78
```
解释:
- `\d` 表示匹配数字。
- `{4}` 表示匹配前面的数字4次。
- `(\d{2})` 表示匹配2个数字并将其作为一个分组。
- `r'139\d{4}(\d{2})\d{2}'` 表示匹配以139开头,后面跟4个数字,然后是2个数字的分组,最后是2个数字。
- `r'139****\1'` 表示将匹配到的字符串替换为139****和第一个分组的内容。
相关问题
正则表达式手机号脱敏
你可以使用正则表达式来对手机号进行脱敏操作。下面是一个示例代码,可以将手机号的前三位和后四位替换为星号:
```python
import re
def desensitize_phone_number(phone_number):
# 使用正则表达式匹配手机号的前三位和后四位
pattern = re.compile(r'(\d{3})\d{4}(\d{4})')
# 将匹配到的部分替换为星号
desensitized_number = re.sub(pattern, r'\1****\2', phone_number)
return desensitized_number
# 示例用法
phone = "13912345678"
desensitized_phone = desensitize_phone_number(phone)
print(desensitized_phone) # 输出:139****5678
```
这段代码使用正则表达式将输入的手机号中的前三位和后四位进行了脱敏处理,并将结果返回。你可以根据自己的需求修改正则表达式或替换规则来实现不同的脱敏效果。
用正则表达式验证移动手机号
验证移动手机号的正则表达式如下:
```
/^((13[4-9])|(147)|(15[0-2,7-9])|(165)|(178)|(18[2-4,7-8]))\d{8}$/
```
其中,13开头的号码有134、135、136、137、138、139、147、148、150、151、152、157、158、159、178、182、183、184、187、188、198;15开头的号码有150、151、152、157、158、159、165、170、171、172、173、174、175、176、177、178、180、181、182、183、184、185、186、187、188、189;17开头的号码有170、171、173、175、176、177、178;18开头的号码有182、183、184、187、188、195、198。
代码实现如下:
```javascript
function verifyMobile(value) {
var mobile = value;
var reg = /^((13[4-9])|(147)|(15[0-2,7-9])|(165)|(178)|(18[2-4,7-8]))\d{8}$/;
if (!reg.test(mobile)) {
layer.tips('请输入有效号码', '#MobilePhone');
}
}
```