证件号脱敏,长度不固定 需要将后四位的前三位进行隐藏


证件号位数不固定k,需要将后四位的前三位进行隐藏,就例如123456789874061216变成12345678987406***6,123456789b变成12345***9,这种可以用正则表达式写出这种效果吗?

一直提示我系统繁忙 回复不了评论,在这解释下 因为用的公司自写的一个框架写的代码,有点垃圾,不能根据长度截取拼接,所以想看看有没有什么正则表达式可以写出来

可以的,如果你的证件只有数字的话,正则表达可以这样写

var str="123456789874061216"
var newStr=str.replace(/(\d*)\d{3}(\d{1})/, "$1***$2")
console.log(newStr)


你直接字符串截断重新拼接就好了呀