隐藏规则:

demo:

/**
* @des 隐藏员工隐私信息(手机号、身份证号、台胞证、护照、回乡证)
* @rule 手机号的中间4位隐去,身份证号隐去中间8位,台胞证隐去中间8位,护照隐去中间4位,回乡证隐去中间4位,用“*”代替
* @author
* @param Map<String, Object>
* @since JDK 1.8
* @version TMC 2.2
*/
public void hiddenUserInformation(Map<String, Object> map) {
if(map != null && map.size() > 0) {
String sfzh = String.valueOf(map.get("sfzh"));//身份证号
String hzh = String.valueOf(map.get("hzh"));//护照号
String tbzh = String.valueOf(map.get("tbzh"));//台胞证号
String hxzh = String.valueOf(map.get("hxzh"));//回乡证号
String sjh = String.valueOf(map.get("sjh"));//手机号
if(StringUtils.isNotBlank(sjh) && sjh.length() == 11) {//手机号:11位 隐藏中间4位
map.put("sjh", sjh.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"));//123****1234
}
if(StringUtils.isNotBlank(sfzh) && sfzh.length() == 18) {//身份证号:18位 隐藏中间8位
map.put("sfzh", sfzh.replaceAll("(\\d{6})\\d{8}(\\w{4})","$1********$2"));//123456********123X
}
if(StringUtils.isNotBlank(hzh) && hzh.length() == 9) {//护照号:9位 隐藏中间4位
map.put("hzh", hzh.replaceAll("(\\w{3})\\d{4}(\\d{2})","$1****$2"));//护照号P12345678
}
if(StringUtils.isNotBlank(tbzh) && (tbzh.length() == 18 || tbzh.length() == 10)) {//台胞证阿拉伯数字10位或18位
if(tbzh.length()==18) {
map.put("tbzh", tbzh.replaceAll("(\\d{6})\\d{8}(\\d{4})","$1********$2"));//18位 隐藏中间8位
}
else if(tbzh.length()==10) {//10位 隐藏中间4位
map.put("tbzh", tbzh.replaceAll("(\\d{3})\\d{4}(\\d{3})","$1****$2"));
}
}
if(StringUtils.isNotBlank(hxzh) && hxzh.length() == 11) {//回乡证号:11位 隐藏中间4位
map.put("hxzh", hxzh.replaceAll("(\\w{3})\\d{4}(\\d{4})","$1****$2"));//H12****7890
}
}
}

d不包含字母,只包含数字;

w包含数字包含字母。

正则表达式隐藏手机号、身份证号、台胞证、护照、回乡证中间几位数字信息相关推荐

  1. 正则表达式验证手机号 身份证号 银行卡号 姓名输入

    手机号验证var mobile = /^1[3|4|5|7|8]\d{9}$/;mobile.test(value);生日格式转换'20171102'.replace(/^(\d{4})(\d{2}) ...

  2. Java对姓名, 手机号, 身份证号, 地址进行脱敏

    替换几位就用几个*号 一.姓名 1, 脱敏规则: 只显示第一个汉字,比如李某某置换为李**, 李某置换为李* private static String desensitizedName(String ...

  3. js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)...

    js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...

  4. [前台]---js+jquery校验姓名,手机号,身份证号

    记一次前台验证姓名,手机号,身份证号的代码,复制即用,前提是有引入jquery. var name = "姓名"if(!is_forbidName(name)){alert(&qu ...

  5. 请用正则表达式匹配出QQ号(假设QQ号码为5—10位);

    请用正则表达式匹配出QQ号(假设QQ号码为5-10位): 解答: ^ \d{5,10}$ 转载于:https://www.cnblogs.com/borter/p/9548333.html

  6. wps姓名隐藏为星号_EXCEL里如何给姓名手机号身份证号等隐私信息设置星号隐藏起来?...

    在EXCEL表格里如图有时为了保护隐私,需要把姓名啊手机啊身份证号啊这些敏感的个人信息以星号显示,要如何操作呢?下面演示一下操作步骤: 一.星号姓名 1.在需要设置的单元格里输入=REPLACE(E2 ...

  7. 手机号身份证号正则表达式

    手机号正则表达式:/^1[3-9]\d{9}$/ 身份证号正则表达式:/(^[1-9][0-9]{13}(\d|X|x)$)|(^[1-9]\d{17}$)|(^[1-9]\d{16}(\d|X|x) ...

  8. 微信小程序-正则表达式(验证手机号-身份证-邮箱..)

    手机号验证: if (!(/^1[34578]\d{9}$/.test(e.detail.value.phone))) {wx.showToast({title: '手机号码有误',duration: ...

  9. 查询时隐藏部分身份证号

    Mysql: select REPLACE(idcard, SUBSTR(mobile,4,12), '************') idcard from sys_users select inse ...

最新文章

  1. c++深拷贝和浅拷贝
  2. 为什么用Go编写机器学习的基础架构,而不是Python?
  3. python 字典 get(),items(),iteritems()方法
  4. sql将html转成excel,使用SQL*PLUS,构建完美excel或html输出
  5. Android--通知之Notification
  6. 每日一题 丨2020.06.02
  7. ios显示gif格式图片
  8. GridControl中进行多选数据,可以做多行删除
  9. 动态生成 fastCall(易语言 调用WKE浏览器)
  10. Eclipse 安装教程附免费安装包资源
  11. 太极计算机股份有限公司面试经历
  12. Qt QImage实现频谱图绘制
  13. 阿里巴巴编码规范认证考试总结
  14. Esp8266闪存文件系统LIttleFS
  15. 读书笔记—趁年轻,折腾吧
  16. tweepy抓取Twitter数据
  17. virtualenv虚拟环境中安装MySQL-python
  18. B BL BLX BX详解
  19. Android使用CameraX打开相机拍照简单使用
  20. div+css使用padding样式和 important标记实现Firefox和IE6处理带float样式的margi

热门文章

  1. 【Java】Date日期类诠释
  2. 3分钟教你如何在Word里快速制作单斜线和多斜线表头
  3. deeplearning.14深度学习猫咪识别阶段性检测记录
  4. 2020年 “十大热词” 出炉了,你知道它们的含义和出处吗?
  5. java 修改图片分辨率_java 修改图片的像素大小,清晰度
  6. python自动化部署hadoop集群_大数据集群的自动化运维实现思路
  7. matlab加速度转化为位移,加速度转换成位移的matlab代码及说明
  8. 《OpenSSL3.0学习之七 OpenSSL FIPS 提供程序|CSDN创作打卡》
  9. Python实现对主要城市及其周边地区天气数据的爬取
  10. 鸟哥Linux学习之——man page说明