脱敏工具类,对姓名、手机号、身份证进行脱敏
一、工具类做个记录,直接上代码:
package com.prison.common.util;/*** @author WangJing* @Description 脱敏工具类* @date 2021/6/19 1:39*/
public class DesensitizedUtil {/*** 姓名脱敏* 规则:* 1、两位姓名,如:王京 置换为 王** 2、大于两位,如:王京京 置换为 王*京* 王京京京 置换为 王*京* @param name* @return*/private static String desensitizedName(String name){if(StringUtils.isNotEmpty(name)){if(name.length() == 2){name = name.replaceAll("(.).+", "$1*");}if(name.length() > 2){name = name.replaceAll("(.).+(.)", "$1*$2");}}return name;}/*** 手机号脱敏* 规则:保留前三后四,如:18812349876 置换为 188****9876* @param phone* @return*/private static String desensitizedPhone(String phone){if(StringUtils.isNotEmpty(phone)){phone = phone.replaceAll("(\\w{3})\\w*(\\w{4})", "$1****$2");}return phone;}/*** 身份证脱敏(支持18位和15位)* 规则:保留前六后三,如:123456789987654321 置换为 123456*********321* @param idCard* @return*/private static String desensitizedIdNumber(String idCard){if (StringUtils.isNotEmpty(idCard)) {if (idCard.length() == 15){idCard = idCard.replaceAll("(\\w{6})\\w*(\\w{3})", "$1******$2");}if (idCard.length() == 18){idCard = idCard.replaceAll("(\\w{6})\\w*(\\w{3})", "$1*********$2");}}return idCard;}public static void main(String[] args) {System.out.println("==== 姓名脱敏 =====");String name2 = "王京";String name3 = "王京京";String name4 = "王京京京";System.out.printf("\n姓名:%s, 脱敏后:%s", name2, DesensitizedUtil.desensitizedName(name2));System.out.printf("\n姓名:%s, 脱敏后:%s", name3, DesensitizedUtil.desensitizedName(name3));System.out.printf("\n姓名:%s, 脱敏后:%s", name4, DesensitizedUtil.desensitizedName(name4));System.out.println("\n==== 手机号脱敏 =====");String phone = "18812349876";System.out.printf("\n手机号:%s, 脱敏后:%s", phone, DesensitizedUtil.desensitizedPhone(phone));System.out.println("\n==== 身份证脱敏 =====");String idCard = "123456789987654321";System.out.printf("\n身份证:%s, 脱敏后:%s", idCard, DesensitizedUtil.desensitizedIdNumber(idCard));}}
二、执行效果:
==== 姓名脱敏 =====姓名:王京, 脱敏后:王*
姓名:王京京, 脱敏后:王*京
姓名:王京京京, 脱敏后:王*京
==== 手机号脱敏 =====手机号:18812349876, 脱敏后:188****9876
==== 身份证脱敏 =====身份证:123456789987654321, 脱敏后:123456*********321
Process finished with exit code 0
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
脱敏工具类,对姓名、手机号、身份证进行脱敏相关推荐
- 地址 脱敏规则_Java对姓名, 手机号, 身份证号, 地址进行脱敏
替换几位就用几个*号 一.姓名 1, 脱敏规则: 只显示第一个汉字,比如李某某置换为李**, 李某置换为李* private staticString desensitizedName(String ...
- java 手机号脱敏,身份证号脱敏 工具类
java 手机号脱敏,身份证号脱敏 工具类 import org.apache.commons.lang3.StringUtils;/*** * @title: 脱敏工具类* @author: wll ...
- Java对姓名, 手机号, 身份证号, 地址进行脱敏
替换几位就用几个*号 一.姓名 1, 脱敏规则: 只显示第一个汉字,比如李某某置换为李**, 李某置换为李* private static String desensitizedName(String ...
- [前台]---js+jquery校验姓名,手机号,身份证号
记一次前台验证姓名,手机号,身份证号的代码,复制即用,前提是有引入jquery. var name = "姓名"if(!is_forbidName(name)){alert(&qu ...
- ng 姓名,手机,身份证号码 脱敏处理
ng 处理姓名,手机,身份证号码 脱敏. 加星号* //html: {{w.name | toHideName}}//ng: angular.module('mainApp').register.fi ...
- js 手机号、姓名、身份证号脱敏(打星号)
手机号脱敏: <div>{{phone('13796766666')}}</div>phone(val) {return val.substring(0,3)+"** ...
- JS 手机号、姓名、身份证号脱敏处理
需求1: 11位手机号中间四位脱敏显示,例如:187****1234 function noPassByMobile(str){if(null != str && str != und ...
- hive sql 实现姓名手机号证件号脱敏
需求描述 姓名 中文姓名 2个字码最后一个字 大于等于3个字,只留第一个和最后一个字 英文姓名 保留第一个和最后一个字符 例如 Jack.Antg 脱敏后变成J***.***g 手机号 11位 则保留 ...
- 「Java工具类」发现一个身份证地址解析出省市区的工具类
介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...
最新文章
- [问答]-EL1t和EL1h中的后缀t和h分别是什么意思
- 如何查询mysql中执行效率低的sql语句
- Duplicate property mapping of contactPhone found in
- 连载:面向对象葵花宝典:思想、技巧与实践(34) - DIP原则
- TSqlConnection
- 动态主机配置协议DHCP
- PPT+VBA实现计时(倒计时)展示
- Chrome 暴力猴下载与安装
- 压缩包伪装-阿里网盘禁止分享解决方案\更新日志
- 暴雪战网国际版[国区登录战网国际版方法]
- 【CNN】——涨点模块SE,CBAM,CA对比
- 还原html默认打开方式,Win7旗舰版64位系统下如何还原文件默认打开方式
- 学习Vue3 第二十七章(自定义指令directive)
- 结合分析和数值技术 Python 在基本力学应用
- 网站空间与服务器的区别,网站空间与服务器的区别
- 卡尔曼滤波(kalman)相关理论以及与HMM、最小二乘法关系
- houdini 函数基础
- 单片机结构和原理讲解!
- 抄底的艺术——量化交易之路
- 修车案例 | 2005 款奥迪 A6L 车发动机故障灯异常点亮、加速无力
热门文章
- 虚函数的特点、实现机制以及vTable、vPointer的使用
- python实现二维图制作
- FFmpeg源码分析:avdevice_register_all()注册设备
- (阿里云笔记)贝勾置阿里云轻量应用服务器CentOS7.6镜像——Linux系统
- Kuberntes云原生实战04 安装前置条件及Docker环境
- 专利申请的好处有哪些
- linux系统基础回顾(一)
- 汽车智能门锁系统全国产化电子元件推荐方案
- 【MySQL】全局锁、表级锁、行级锁
- C++ 古老而永恒的语言 学习C++