一、工具类做个记录,直接上代码:

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

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

脱敏工具类,对姓名、手机号、身份证进行脱敏相关推荐

  1. 地址 脱敏规则_Java对姓名, 手机号, 身份证号, 地址进行脱敏

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

  2. java 手机号脱敏,身份证号脱敏 工具类

    java 手机号脱敏,身份证号脱敏 工具类 import org.apache.commons.lang3.StringUtils;/*** * @title: 脱敏工具类* @author: wll ...

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

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

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

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

  5. ng 姓名,手机,身份证号码 脱敏处理

    ng 处理姓名,手机,身份证号码 脱敏. 加星号* //html: {{w.name | toHideName}}//ng: angular.module('mainApp').register.fi ...

  6. js 手机号、姓名、身份证号脱敏(打星号)

    手机号脱敏: <div>{{phone('13796766666')}}</div>phone(val) {return val.substring(0,3)+"** ...

  7. JS 手机号、姓名、身份证号脱敏处理

    需求1: 11位手机号中间四位脱敏显示,例如:187****1234 function noPassByMobile(str){if(null != str && str != und ...

  8. hive sql 实现姓名手机号证件号脱敏

    需求描述 姓名 中文姓名 2个字码最后一个字 大于等于3个字,只留第一个和最后一个字 英文姓名 保留第一个和最后一个字符 例如 Jack.Antg 脱敏后变成J***.***g 手机号 11位 则保留 ...

  9. 「Java工具类」发现一个身份证地址解析出省市区的工具类

    介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...

最新文章

  1. [问答]-EL1t和EL1h中的后缀t和h分别是什么意思
  2. 如何查询mysql中执行效率低的sql语句
  3. Duplicate property mapping of contactPhone found in
  4. 连载:面向对象葵花宝典:思想、技巧与实践(34) - DIP原则
  5. TSqlConnection
  6. 动态主机配置协议DHCP
  7. PPT+VBA实现计时(倒计时)展示
  8. Chrome 暴力猴下载与安装
  9. 压缩包伪装-阿里网盘禁止分享解决方案\更新日志
  10. 暴雪战网国际版[国区登录战网国际版方法]
  11. 【CNN】——涨点模块SE,CBAM,CA对比
  12. 还原html默认打开方式,Win7旗舰版64位系统下如何还原文件默认打开方式
  13. 学习Vue3 第二十七章(自定义指令directive)
  14. 结合分析和数值技术 Python 在基本力学应用
  15. 网站空间与服务器的区别,网站空间与服务器的区别
  16. 卡尔曼滤波(kalman)相关理论以及与HMM、最小二乘法关系
  17. houdini 函数基础
  18. 单片机结构和原理讲解!
  19. 抄底的艺术——量化交易之路
  20. 修车案例 | 2005 款奥迪 A6L 车发动机故障灯异常点亮、加速无力

热门文章

  1. 虚函数的特点、实现机制以及vTable、vPointer的使用
  2. python实现二维图制作
  3. FFmpeg源码分析:avdevice_register_all()注册设备
  4. (阿里云笔记)贝勾置阿里云轻量应用服务器CentOS7.6镜像——Linux系统
  5. Kuberntes云原生实战04 安装前置条件及Docker环境
  6. 专利申请的好处有哪些
  7. linux系统基础回顾(一)
  8. 汽车智能门锁系统全国产化电子元件推荐方案
  9. 【MySQL】全局锁、表级锁、行级锁
  10. C++ 古老而永恒的语言 学习C++