今天写支付宝小程序遇见一个问题,身份证号需要隐藏,做如下处理:
String s = "37011219810228316X";
String a = "";
if (s.endsWith("X") || s.endsWith("x")){
a = s.substring(0,1)+"****************X";
}else {
a = s.replaceAll("(\\d{1})\\d{16}(\\d{1})", "$1****************$2");
}
System.out.println(a);
输出结果如下:
3****************X
身份证号分为两类处理,一类含‘X’字符的,一类纯数字的。纯数字的可以用正则处理,含’X’字符的不行。