标签:个人信息 技术 电话 pat inf png col http 说明
package com; import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { //个人信息打码 private static String getEncrypt(String number){ //电话 if (number != null && number.length() == 11) { return number.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); } //身份证号码 if (number != null && number.length() == 18) { return number.replaceAll("(\\d{4})\\d{12}(\\w{2})","$1************$2"); } else if(number != null && number.length() == 15){ return number.replaceAll("(\\d{4})\\d{9}(\\w{2})","$1*********$2"); }else{ return number; } } private static String getEncryptName(String name){ String regex = "[\\u4E00-\\u9FA5]{2,30}(?:·[\\u4E00-\\u9FA5]{2,5})*"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(name); boolean isMatch = m.matches(); StringBuilder sb = new StringBuilder(); String names=""; if (isMatch) {//说明是中文姓名 if (name.contains("·")) { String[] strNames = name.split("·"); for (int i = 0; i < strNames.length-1; i++) { if (i!=strNames.length) { names = strNames[i].replaceAll("[\\u4e00-\\u9fa5]", "*"); } sb.append(names).append("·"); } return sb.append(strNames[strNames.length-1]).toString(); } else { String[] strNames = name.split(""); sb.append(strNames[1]); for (int i = 2; i < strNames.length; i++) { names = strNames[i].replaceAll("[\\u4e00-\\u9fa5]", "*"); sb.append(names); } return sb.toString(); } } else {//说明是英文 if (name.contains(" ")) { String[] strNames = name.split(" "); for (int i = 0; i < strNames.length-1; i++) { if (i!=strNames.length) { names = strNames[i].replaceAll("^[A-Za-z]+$", "*"); } sb.append(names).append(" "); } return sb.append(strNames[strNames.length-1]).toString(); } } return name; } /** * @param args */ public static void main(String[] args) { System.out.println(getEncrypt("411421995412541201")); System.out.println(getEncrypt("13595245120")); System.out.println(getEncryptName("张三")); } }
结果:
标签:个人信息 技术 电话 pat inf png col http 说明
原文地址:https://www.cnblogs.com/gaomanito/p/9505134.html