用于替换前 5 个数字的正则表达式,无论它们之间有什么?

2024-05-30

我正在努力实现以下匹配

Input

123-45-6789
123456789
1234

正则表达式尝试输出:

\d{5}

123-45-6789

123456789

1234

\d{2,3}

123-45-6789

123456789

1234

\d{3}-{0,1}\d{2}

123-45-6789

123456789

1234

我需要提供这个正则表达式来替换方法,并且我不想要“-" 进行替换时,只替换前5位,不改变格式:

预期输出

123-45-6789

123456789

1234

EDIT

在上面的示例输出中:

1> 全部与全局正则表达式匹配 2> 粗体数字仅预期匹配

目的

我需要屏蔽 SSN,例如:444-55-6666 变为 ###-##-6666,444556666 变为 #####6666。不妨碍格式。


您想要匹配并替换前五位数字:

var str = `123-45-6789
123456789
1234
`
console.log(str.replace(/^(\D*\d\D*){5}/gm, function(match) {
    return match.replace(/\d/g, '*');
}))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于替换前 5 个数字的正则表达式,无论它们之间有什么? 的相关文章

随机推荐