java 对于手机号码、邮箱、银行卡号脱敏一条龙服务


private static final Pattern MOBILE_PATTERN =
            Pattern.compile("^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|17[0-9]{9}$|18[0-9]{9}$|19[0-9]{9}$");
private static Pattern isNumericPattern = Pattern.compile("^[-\\+]?[\\d]*$");
public static boolean isMobile(String number) { return MOBILE_PATTERN.matcher(number).matches(); }
public static boolean isNumeric(String str) {
return isNumericPattern.matcher(str).matches();
}
 
public static String mosaicAlipayName(String withdrawName) {
        if (DataUtils.isMobile(withdrawName)) {
            return DataUtils.hidePhoneNum(StringUtils.isBlank(withdrawName) ? "" : withdrawName);
        } else if(isNumeric(withdrawName)) {
            //银行卡号
            String regex = "(\\w{4})(.*)(\\w{4})";
            Matcher m = Pattern.compile(regex).matcher(withdrawName);
            if (m.find()) {
                String rep = m.group(2);
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < rep.length(); i++) {
                    sb.append("*");
                }
                return withdrawName.replaceAll(rep, sb.toString());
            }
        }

        return withdrawName.replaceAll("(^\\w)[^@]*(@.*$)", "$1****$2");

    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM