• 身份证号打码隐藏


    /**
         * 用户身份证号码的打码隐藏加星号加*
         * <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");
        }

  • 相关阅读:
    Win32编程day11 学习笔记
    Win32编程day06 学习笔记
    Win32编程day15 学习笔记
    Win32编程day12 学习笔记
    Win32编程day09 学习笔记
    Win32编程day07 学习笔记
    Win32编程day10 学习笔记
    生命周期
    组件中的data为什么不是一个对象而是一个函数?
    asp.net Request.ServerVariables 各参数说明集合
  • 原文地址:https://www.cnblogs.com/xiaoQ0725/p/10478104.html
Copyright © 2020-2023  润新知