身份证、姓名、手机号、地址、邮箱脱敏处理

1、身份证脱敏:显示后4位

public static String tmCardCode(String cardId) {
        if (null == cardId || cardId.length() < 4) {
            return cardId;
        } else {
            //显示后4位
            String sfzRight = StringUtils.right(cardId, 4);
            sfzRight = StringUtils.leftPad(sfzRight, StringUtils.length(cardId), "*");
            return sfzRight;
        }
    }

2、姓名脱敏:3个字及以下显示1个字,3个字以上显示2个字

public static String tmName(String name) {
        if (null == name || name.length() < 2) {
            return name;
        }
        String tmName = "";
        if (name.length() > 3) {
            tmName = StringUtils.right(name, 2);
        } else {
            tmName = StringUtils.right(name, 1);
        }
        tmName = StringUtils.leftPad(tmName, StringUtils.length(name), "*");
        return tmName;
    }

3、手机号码脱敏:显示前3后4

 public static String tmPhone(String phone) {
        if (StringUtils.isEmpty(phone)) {
            return phone;
        }
        if (phone.length() >= 11) {
            return phone.replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
        } else {
            return phone.replaceAll("(\\d{2})\\d*(\\d{2})", "$1**$2");
        }
    }

4、地址脱敏:12字及以下显示6个字,12字以上显示不超过50%

public static String tmAddress(String address) {
        if (null == address || address.length() < 3) {
            return address;
        }
        String tmAddress = "";
        if (address.length() >= 12) {
            tmAddress = StringUtils.left(address, 6);
        } else {
            tmAddress = StringUtils.left(address, address.length() / 2);
        }
        tmAddress = StringUtils.rightPad(tmAddress, StringUtils.length(address), "*");
        return tmAddress;
    }

 5、邮箱脱敏:显示"@"及以后的字符

public static String tmEmail(String email) {
        if (null == email || email.length() < 2) {
            return email;
        }
        int index = email.indexOf("@");
        String tmEmail = "";
        if (-1 == index) {
            return email;
        } else {
            tmEmail = StringUtils.right(email, email.length() - index);
        }
        tmEmail = StringUtils.leftPad(tmEmail, StringUtils.length(email), "*");
        return tmEmail;
    }

你可能感兴趣的:(Java基础,java)