我們在開發中為了用戶的隱私,需要將一些信息隱藏,例如隱藏手機號中間四位等。
import org.apache.commons.lang3.StringUtils; public class EncryptUtils { // 手機號碼前三后四脫敏 public static String mobileEncrypt(String mobile){ if(StringUtils.isEmpty(mobile) || mobile.length()!=11){ return mobile; } return mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); } // 身份證前三后四脫敏 public static String idCardEncrypt(String idCard){ if(StringUtils.isEmpty(idCard) || (idCard.length() != 15 && idCard.length() != 18)){ return idCard; } return idCard.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*"); } // 姓名第一位脫敏(不考慮復姓,特殊姓氏) public static String nameEncrypt(String name){ if(StringUtils.isEmpty(name) || name.length() < 1){ return name; } return name.replaceAll("(?<=[\\u4e00-\\u9fa5]{1})[\\u4e00-\\u9fa5]", "*"); } }