需求
- 邮箱第一个字符和’@‘之后的原文显示,第一个字符之后’@‘之前的,显示为’****’
- 电话号码,前面3位,后面4位显示原文,中间的显示为’****’
实现
public static void main(String[] args) {
String email = "zhangnero@163.com";
System.out.println("原邮箱: " + email);
email = email.replaceAll("(^\\w)[^@]*(@.*$)", "$1****$2");
System.out.println("脱敏后: " + email);
System.out.println("---------------------------");
String phone = "13488889999";
System.out.println("原电话: " + phone);
phone = phone.replaceAll("(^\\d{3})\\d.*(\\d{4})", "$1****$2");
System.out.println("脱敏后: " + phone);
}
# 结果
"C:\Program Files\Java\jdk1.8.0_144\bin\java" ...
原邮箱: zhangnero@163.com
脱敏后: z****@163.com
---------------------------
原电话: 13488889999
脱敏后: 134****9999