[xiaoxpai - dev] 对银行卡号进行掩码操作 ****

254 阅读1分钟

对银行卡号4位进行掩码操作 ****

方式一:使用正则

public static String getMask(String cardNo) {
        try {
            return Pattern.compile("(?<=\\d{4})\\d+(?=\\d{4})").matcher(cardNo).replaceAll("********");
        } catch (Exception e) {
            return cardNo;
        }
}

方式二:自定义方法

/**
  * 银行卡掩码
  * @Param sCardNo 银行卡号
  * @return
  */
public static String getYanMaCardNo (String sCardNo) {
    String sYaMa = "****************************************";
    if (sCardNo==null || sCardNo.equals("")) {
        return sCardNo;
    } else {
        int iLength = sCardNo.length();
        if (iLength>4) {
            // 截取前4位
            String str1 = sCardNo.substring(0, 4);
            // 截取后4位
            String str2=sCardNo.substring(iLength-4, iLength);
            // 截取掩码
            String sYaMa1=sYaMa.substring(0,iLength-8);
            // 组合
            return str1+sYaMa1+str2;
        } else {
            return sCardNo;
        }
    }        
}