正则表达式隐藏手机号、身份证号、台胞证、护照、回乡证中间几位数字信息
隐藏规则:
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包含数字包含字母。
正则表达式隐藏手机号、身份证号、台胞证、护照、回乡证中间几位数字信息相关推荐
- 正则表达式验证手机号 身份证号 银行卡号 姓名输入
手机号验证var mobile = /^1[3|4|5|7|8]\d{9}$/;mobile.test(value);生日格式转换'20171102'.replace(/^(\d{4})(\d{2}) ...
- Java对姓名, 手机号, 身份证号, 地址进行脱敏
替换几位就用几个*号 一.姓名 1, 脱敏规则: 只显示第一个汉字,比如李某某置换为李**, 李某置换为李* private static String desensitizedName(String ...
- 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 ...
- [前台]---js+jquery校验姓名,手机号,身份证号
记一次前台验证姓名,手机号,身份证号的代码,复制即用,前提是有引入jquery. var name = "姓名"if(!is_forbidName(name)){alert(&qu ...
- 请用正则表达式匹配出QQ号(假设QQ号码为5—10位);
请用正则表达式匹配出QQ号(假设QQ号码为5-10位): 解答: ^ \d{5,10}$ 转载于:https://www.cnblogs.com/borter/p/9548333.html
- wps姓名隐藏为星号_EXCEL里如何给姓名手机号身份证号等隐私信息设置星号隐藏起来?...
在EXCEL表格里如图有时为了保护隐私,需要把姓名啊手机啊身份证号啊这些敏感的个人信息以星号显示,要如何操作呢?下面演示一下操作步骤: 一.星号姓名 1.在需要设置的单元格里输入=REPLACE(E2 ...
- 手机号身份证号正则表达式
手机号正则表达式:/^1[3-9]\d{9}$/ 身份证号正则表达式:/(^[1-9][0-9]{13}(\d|X|x)$)|(^[1-9]\d{17}$)|(^[1-9]\d{16}(\d|X|x) ...
- 微信小程序-正则表达式(验证手机号-身份证-邮箱..)
手机号验证: if (!(/^1[34578]\d{9}$/.test(e.detail.value.phone))) {wx.showToast({title: '手机号码有误',duration: ...
- 查询时隐藏部分身份证号
Mysql: select REPLACE(idcard, SUBSTR(mobile,4,12), '************') idcard from sys_users select inse ...
最新文章
- c++深拷贝和浅拷贝
- 为什么用Go编写机器学习的基础架构,而不是Python?
- python 字典 get(),items(),iteritems()方法
- sql将html转成excel,使用SQL*PLUS,构建完美excel或html输出
- Android--通知之Notification
- 每日一题 丨2020.06.02
- ios显示gif格式图片
- GridControl中进行多选数据,可以做多行删除
- 动态生成 fastCall(易语言 调用WKE浏览器)
- Eclipse 安装教程附免费安装包资源
- 太极计算机股份有限公司面试经历
- Qt QImage实现频谱图绘制
- 阿里巴巴编码规范认证考试总结
- Esp8266闪存文件系统LIttleFS
- 读书笔记—趁年轻,折腾吧
- tweepy抓取Twitter数据
- virtualenv虚拟环境中安装MySQL-python
- B BL BLX BX详解
- Android使用CameraX打开相机拍照简单使用
- div+css使用padding样式和 important标记实现Firefox和IE6处理带float样式的margi
热门文章
- 【Java】Date日期类诠释
- 3分钟教你如何在Word里快速制作单斜线和多斜线表头
- deeplearning.14深度学习猫咪识别阶段性检测记录
- 2020年 “十大热词” 出炉了,你知道它们的含义和出处吗?
- java 修改图片分辨率_java 修改图片的像素大小,清晰度
- python自动化部署hadoop集群_大数据集群的自动化运维实现思路
- matlab加速度转化为位移,加速度转换成位移的matlab代码及说明
- 《OpenSSL3.0学习之七 OpenSSL FIPS 提供程序|CSDN创作打卡》
- Python实现对主要城市及其周边地区天气数据的爬取
- 鸟哥Linux学习之——man page说明