保留省市的JAVA地址脱敏
时间: 2023-12-02 16:04:16 浏览: 112
以下是一种保留省市信息的 Java 地址脱敏处理方法:
```java
public static String maskAddress(String address) {
if (address == null || address.isEmpty()) {
return "";
}
// 将详细地址中的门牌号、楼层信息进行脱敏处理
address = address.replaceAll("\\d+", "*");
// 将区、县、市等地名信息进行脱敏处理
address = address.replaceAll("(?<=[省市区县])[\\u4e00-\\u9fa5]+", "*");
// 将省、自治区、直辖市等地名信息进行脱敏处理,只保留前两个字
address = address.replaceAll("(?<=[\\u4e00-\\u9fa5]{2})[\\u4e00-\\u9fa5]+", "*");
// 将邮政编码进行脱敏处理
address = address.replaceAll("\\d{6}", "******");
// 将电话号码进行脱敏处理
address = address.replaceAll("(?<=\\d{3})\\d{4}(?=\\d{4})", "****");
return address;
}
```
例如,对于输入的地址字符串 `"北京市朝阳区朝阳路1号院3号楼2单元301室,邮编100020,电话13812345678"`,使用 `maskAddress` 方法进行脱敏处理后,输出的地址字符串为 `"北京市朝*朝*路*号院*号楼*单元***室,邮编******,电话138****5678"`。
阅读全文