zoukankan      html  css  js  c++  java
  • 身份证号打码隐藏

    /**
         * 用户身份证号码的打码隐藏加星号加*
         * <p>18位和非18位身份证处理均可成功处理</p>
         * <p>参数异常直接返回null</p>
         *
         * @param idCardNum 身份证号码
         * @param front     需要显示前几位
         * @param end       需要显示末几位
         * @return 处理完成的身份证
         */
        public static String idMask(String idCardNum, int front, int end) {
            //身份证不能为空
            if (TextUtils.isEmpty(idCardNum)) {
                return null;
            }
            //需要截取的长度不能大于身份证号长度
            if ((front + end) > idCardNum.length()) {
                return null;
            }
            //需要截取的不能小于0
            if (front < 0 || end < 0) {
                return null;
            }
            //计算*的数量
            int asteriskCount = idCardNum.length() - (front + end);
            StringBuffer asteriskStr = new StringBuffer();
            for (int i = 0; i < asteriskCount; i++) {
                asteriskStr.append("*");
            }
            String regex = "(\w{" + String.valueOf(front) + "})(\w+)(\w{" + String.valueOf(end) + "})";
            return idCardNum.replaceAll(regex, "$1" + asteriskStr + "$3");
        }

  • 相关阅读:
    什么是Netflix Feign?它的优点是什么?
    Spring Boot 自动配置原理是什么?
    springcloud断路器作用?
    什么是SpringCloudConfig?
    find命令查找包含指定内容的文件
    @PostConstruct使用总结
    @Retention 注解的作用
    SpringBoot自定义Condition注解
    Spring Boot 入门
    SpringBoot +MSSQL
  • 原文地址:https://www.cnblogs.com/xiaoQ0725/p/10478104.html
Copyright © 2011-2022 走看看