JS正则 身份证号脱敏

【一】:说明:身份证脱敏处理:/^(.{6})(?:\d+)(.{4})$/,显示前6和后4,出生日期隐藏

const idCard = "110108199001010101"    // 身份证号

const reg = /^(.{6})(?:\d+)(.{4})$/    // 匹配身份证号前6位和后4位的正则表达式

const maskedIdCard = idCard.replace(reg, '\$1******\$2')   // 身份证号脱敏,将中间8位替换为“*”

console.log(maskedIdCard); // 输出:110108******0101

【二】:说明:

在上面的代码中,首先定义了一个身份证号变量 idCard,然后定义了一个正则表达式 reg,该正则表达式匹配身份证号的前6位和后4位,并使用括号将前6位和后4位分别分组。

接下来,使用 replace 方法将身份证号的中间8位替换为6个星号,替换的方式是使用 $1 表示匹配到的第一个分组(即前6位),使用 ****** 表示6个星号,使用 $2 表示匹配到的第二个分组(即后4位)。

【三】: /^(.{6})(?:\d+)(.{4})$/ 这个正则表达式可以解释为:

  • /^ 匹配字符串的开始

  • (.{6}) 匹配6个任意字符,并将其捕获为第一个捕获组

  • (?:\d+) 匹配一个或多个数字,但不捕获它们

  • (.{4}) 匹配4个任意字符,并将其捕获为第二个捕获组

  • $/ 匹配字符串的结尾

其他:


/**
 * @description 校验手机号
 * @param {string} phone 手机号
 * @return {Boolean} true or false
 * @example checkPhone('12345678901') // false
 */
export const checkPhone = (phone: string = '') => /^1[3456789]\d{9}$/.test(phone)



/**
 * @description 手机号脱敏
 * @param {string} phone 手机号
 * @return {string} 123****7890
 * @example phoneDesensitization('12345678901') // 123****7890
 */
export const phoneDesensitization = (phone: string = '') => phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')



/**
 * @description 身份证号脱敏
 * @param {string} idCard 身份证号
 * @return {string} 123****7890
 * @example idCardDesensitization('123456789123456789') // 1234****6789
 */
export const idCardDesensitization = (idCard: string = '') => idCard.replace(/^(.{6})(?:\d+)(.{4})$/, '$1******$2')



/**
 * @description 姓名脱敏
 * @param {string} name 姓名
 */
export const nameDesensitization = (name: string = '') => name.replace(/^(.).*(.)$/, (_, $1, $2) => (name.length > 2 ? `${$1}**` : `*${$2}`))

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不叫虎子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值