gpt4 book ai didi

javascript - 仅屏蔽 9 位数字

转载 作者:行者123 更新时间:2023-12-03 01:30:52 25 4
gpt4 key购买 nike

我只想屏蔽字符串中的 9 位数字。如果字符串包含小于 9 或大于 9,则不应屏蔽该数字。

我的代码:

var str = 'My Business phone number is 1234567890 and my personal number is 123456789';

var rgx1 = /\d{9}/;

var find1 = rgx1.test(str);

if(find1){
var str1 = str.replace(/\d{5}/, '#####');
console.log(str1);
}

结果:我的公司电话号码是 1234567890,我的个人电话号码是 #####6789

但是,如果该代码具有超过 9 位数字,并且如果字符串包含 9 和 10 位数字,则该代码将返回 true,并且它应该仅屏蔽该特定的 9 位数字。

最佳答案

您可以在一个正则表达式中执行此操作,以捕获 9 位数字,并用断词符包围:

const test = "nine digits: 123456789 and ten digits 0123456789"
console.log(test.replace(/\b\d{5}(\d{4})\b/, '#####$1'))

正则表达式查找:一个单词分隔符,后跟 5 个数字,然后是 4 个数字,然后是一个单词分隔符。最后四位数字被捕获,以便可以在替换中通过 $1 引用它们

这是一个首选解决方案,因为您不必担心任何边缘情况,例如字符串的一部分与外部正则表达式匹配,但字符串的不同部分与内部正则表达式匹配。

关于javascript - 仅屏蔽 9 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51311993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com