身份证简单校验和隐藏中间问题
由于业务需求,需要把身份证一部分隐藏掉,首先判断是不是身份证号,正则如下:
String regex = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x)$)";
替换中间需要隐藏问题
String regex = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x)$)";
if(userName.matches(regex)){
String a=userName.substring(0,3);
String b=userName.substring(3,userName.length()-5).replaceAll(".", "*");
String c=userName.substring(userName.length()-5,userName.length());
map.put("verificationOfficerInfo",a+b+c+"-"+name);
}