栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java手机号,身份证号,卡号,姓名 正则表达式脱敏

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java手机号,身份证号,卡号,姓名 正则表达式脱敏

 public static void replaceSensitive(){
        // 卡号显示前6位和后4位,中间打*点, 卡号:16,19,19位都有可能
        String accountNumber = "6543211234567890";
        int encLength = accountNumber.length() - 10;
        String regex = "(\d{6})\d{" + encLength+ "}(\w{4})";
        // $1表示匹配第一个{}的内容
        System.out.println("accountNumber:"+accountNumber.replaceAll(regex,"$1*********$2"));

        String userName = getUserName("杨柳依依");
        // 姓名 显示最后一个汉字,其他打*
        System.out.println("userName:"+userName);
        String mobile = "15529636659";
        // 手机号11位 中间四位展示 ****
        System.out.println("mobile:"+mobile.replaceAll("(\d{3})\d{4}(\w{4})","$1****$2"));
        // 身份证号18位 只展示后四位
        String idCard = "612423199712116552";
        System.out.println("idCard:"+idCard.replaceAll("\d{14}(\w{4})","**************$1"));
    }

    private static String getUserName(String userName)
    {
        StringBuilder sb = new StringBuilder("");
        for (int i = 0; i < userName.length() - 1; i++)
        {
            sb.append("*");
        }
        sb.append(userName.substring(userName.length() - 1));
        return sb.toString();
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号