java代码身份证/手机隐藏中间几位
手机号 --保留前3,后4位:
String phone = "13525658745";
System.out.println(phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"));
身份证号保留前4,后4:
String idCard = "421302199208165462";
System.out.println(idCard.replaceAll("(\\d{4})\\d{10}(\\d{4})","$1****$2"));
注意如果身份证号尾数为X,使用上一个是无法隐藏的,需要将d改为w
String idCardd = "42130219920816546X";
System.out.println(idCardd.replaceAll("(\\d{4})\\d{10}(\\w{4})","$1****$2"));
也可以根据具体业务场景使用StringBuffer
String idCardd = "42130219920816546X";
StringBuffer card = new StringBuffer(idCardd);
card.replace(4,14,"****");