1. 程式人生 > >個人信息打碼

個人信息打碼

repl spl ++ contains mes package 電話 col []

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("張三")); } }

結果:技術分享圖片

個人信息打碼