项目中有部分需要展示用户信息,其中包括了手机号码和身份证号码,涉及隐私故隐藏中间部分,操作如下:
隐藏身份证中间10位:
public static String hideId(String id) {
String idNum = id.replaceAll("(\\d{4})\\d{10}(\\d{4})", "$1****$2");
return idNum;
}
以上方法对于以x结尾的身份证号不适用,可用下面的方法进行替换,以下方法可正常使用:
public static String hideId(String id){
StringBuilder stringBuilder = new StringBuilder(id);
stringBuilder.replace(4, 14, "****");
return stringBuilder.toString();
}
隐藏手机号码中间4位:
public static String hidePhoneNum(String phone) {
String phone_s = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
return phone_s;
}
是不是很简单O(∩_∩)O