正则表达式 表达 脱敏手机号
时间: 2023-11-22 12:48:45 浏览: 175
以下是使用正则表达式对手机号进行脱敏的示例代码:
```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位。
相关问题
正则表达式 全脱敏手机号
是全脱敏手机号的正则表达式代码:
```java
public static String maskPhone(String str) {
return str.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
}
```
这个正则表达式将手机号的中间4位替换成了4个星号,实现了全脱敏。其中,`(\\d{3})`匹配手机号前三位数字,`\\d{4}`匹配手机号中间四位4位数字,`(\\d{4})`匹配手机号后4位数字,`$1`和`$2`分别代表第一组和第二组括号匹配到的内容。
正则表达式手机号脱敏
你可以使用正则表达式来对手机号进行脱敏操作。下面是一个示例代码,可以将手机号的前三位和后四位替换为星号:
```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
```
这段代码使用正则表达式将输入的手机号中的前三位和后四位进行了脱敏处理,并将结果返回。你可以根据自己的需求修改正则表达式或替换规则来实现不同的脱敏效果。
阅读全文