最简单的使用正则替换来实现隐藏身份证中间几位数

public static void main(String[] args) {//隐藏身份证String idCard = "51343619940809631X";String resultIdCard = idCard.replaceAll("(\\d{4})\\d{11}(\\w{3})","$1**********$2");System.out.println("隐藏后的身份证号:" + resultIdCard);//隐藏后的身份证号:5134**********31X//隐藏手机号码中间四位String phoneNumber = "17611158259";String resultPhone= phoneNumber.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");System.out.println("隐藏后的手机号:" + resultPhone);//隐藏后的手机号:176****8259}

再提供一个通用的方法来实现,该方法可任意截取隐藏任意内容,并可设置要隐藏的前后位数

  public static void main(String[] args) {String idCard =  idMask("51343619940809631X",4,3);System.out.println(idCard);}/*** 如用户身份证号码的打码隐藏加星号加**  参数异常直接返回null** @param idCardNum 需要隐藏的字符串* @param front     需要显示前几位* @param end       需要显示末几位* @return 处理完成的身份证*/public static String idMask(String idCardNum, int front, int end) {//身份证不能为空if (StringUtils.isBlank(idCardNum)) {return null;}//需要截取的长度不能大于身份证号长度if ((front + end) > idCardNum.length()) {return null;}//需要截取的不能小于0if (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");}

最简单实用的任意字符串隐藏,身份证号隐藏,手机号隐藏方法相关推荐

  1. 【linlong】Hutool工具,身份证号、手机号、姓名等数据脱敏信息工具类介绍

    前言   在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号.手机号.姓名.卡号等各种敏感信息.而有些用户需求是不允许,这些敏感信息数据为了保护用户个人信息的安全.对这些数据需 ...

  2. 【收藏】身份证号、手机号、姓名等数据脱敏信息工具类介绍

    前言   在开发系统过程中,经常会接触到大量的数据信息,这些数据信息可能包含身份证号.手机号.姓名.卡号等各种敏感信息.为了保护用户个人信息的安全.对这些数据需要进行特殊处理. 数据脱敏   数据脱敏 ...

  3. MySQL 对身份证号、手机号等敏感数据脱敏

    目录 前言 一.数据脱敏解释 二.数据脱敏实现 1.CONCAT().LEFT() 和 RIGHT() 字符串函数组合使用 2.INSERT() 总结 前言 在日常开发需求中会经常遇到数据脱敏处理,比 ...

  4. vue组件中校验身份证号,手机号和邮箱

    vue组件中校验身份证号,手机号和邮箱 直接上代码 一.在js文件中添加校验方式和方法 1. 身份证号码校验(说明,这个身份证校验的方式很精确,算法仔细推荐使用) export function id ...

  5. MySQL对身份证号、手机号等敏感信息用****加密

    目录 身份证 手机 邮箱 对表中敏感信息身份证号.手机号.邮箱进行***加密处理 身份证 UPDATE student set SFZ=REPLACE(SFZ,SUBSTRING(SFZ,11,8), ...

  6. SQLServer身份证号或手机号字段隐藏某几位显示

    --身份证号隐藏11到14位 REPLACE(B.SFZH,SUBSTRING(B.SFZH,11,4),'****') AS SFZH --手机号隐藏4到7位 REPLACE(B.LXDH,SUBS ...

  7. 简单验证用户输入身份证号和手机号

    import re r=r'^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])$' result = r ...

  8. vue身份证号、手机号、姓名脱敏处理

    姓名脱敏: 2位到5位以上的不同处理 hideInsurantName (val) {if (!val || val === '') return ''let name = ''if (val.len ...

  9. 身份证号和手机号的正则表达式

    1. 身份证号正则表达式如下: /^([1-9]\d{5})(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ ...

最新文章

  1. ps随机排列_漂亮!自然材料:人工可控微米级胶体粒子“堆积木”——粒子随心所欲的组装排列!...
  2. python编写表格程序_python对excel表格的操作
  3. 三招让你成为vue.js大师
  4. 解决windows 您没有权限访问\\192.168.1.X(局域网) 请与网络管理员联系请求访问权限
  5. 服务器搭建ftp共享文件夹,设置共享文件夹或者搭建FTP服务器。
  6. Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))【附带实例源码】...
  7. 手把手教你制作油管上30万播放的动态登录页面效果
  8. 了解衡量网络性能的四大指标:带宽、时延、抖动、丢包
  9. C++的封装、继承和多态
  10. JS-inArray检查数组中是否存在某个值
  11. 如何确定多少个簇?聚类算法中选择正确簇数量的三种方法
  12. safari下载文件_如何更改Safari下载文件夹的位置
  13. 小程序文档整理之 -- API(WXML节点信息)
  14. 桥梁在线计算机监测系统,桥梁安全在线监测系统
  15. 达内python培训6,达内北京IT培训班:Python就业6道面试题分享!
  16. FPGA 读写访问 Flash
  17. 夺权!非结构化数据制霸大数据
  18. QQ分享报错 非官方应用(错误码:901102)
  19. VLSI 基础知识梳理
  20. 手把手教你开通和使用融资融券账户!

热门文章

  1. 针对Oracle数据库优化策略
  2. 苹果的屏幕录制在哪里_录屏在哪里设置
  3. 苹果主屏幕按钮怎么设置_苹果手机怎么录制屏幕视频?手把手教你操作步骤
  4. 使程序运行更高效——原型模式
  5. Linux下,用户信息存储位置与格式,用户名,密码,用户id组id等存放文件位置
  6. Skylum Luminar AI v1.3.0智能图像处理
  7. Windows开启winrm服务
  8. 高效「销售早会」的几点心得
  9. Axis2 Client Tub
  10. Go学习之编码实现区块链 - 【权益证明PoS】