【一】:说明:身份证脱敏处理:/^(.{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位替换为8个星号,替换的方式是使用 $1 表示匹配到的第一个分组(即前6位),使用 ******** 表示8个星号,使用 $2 表示匹配到的第二个分组(即后4位)。

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

  • /^ 匹配字符串的开始

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

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

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

  • $/ 匹配字符串的结尾

发表回复