Java地址脱敏隐藏中间信息
时间: 2023-07-25 21:09:09 浏览: 105
Java地址脱敏可以使用正则表达式来实现,将地址中的敏感信息替换为星号或其他符号。以下是一种可能的实现方式:
```java
public static String desensitizeAddress(String address) {
String regex = "(?<=\\w{3})\\w(?=\\w{4})"; //匹配除前三位和后四位之外的字符
return address.replaceAll(regex, "*");
}
```
这个正则表达式 `(?<=\w{3})\w(?=\w{4})` 匹配了除地址开头的三个字符和结尾的四个字符之外的字符,然后将其替换为星号。可以使用以下代码测试:
```java
String address = "北京市朝阳区建国路123号";
String desensitizedAddress = desensitizeAddress(address);
System.out.println(desensitizedAddress); //输出:北京市***1234
```
需要注意的是,这种方法只适用于固定格式的地址,如果地址格式不规范或者缺失某些信息,则可能会替换掉错误的信息。
相关问题
JAVA 地址脱敏处理
在 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"`。
保留省市的JAVA地址脱敏
以下是一种保留省市信息的 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"`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)