javascript 从字符串JS中删除美国电话号码[重复]

zdwk9cvp  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(98)
    • 此问题在此处已有答案**:

What is the need for caret (^) and dollar symbol ($) in regular expression?(5个答案)
20小时前关门了。
截至18小时前,社区正在审查是否重新讨论这个问题。
如何从字符串中删除美国电话号码?
这是我的尝试:

const phoneRegex = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im;
let testString = "Hello world 999-999-9999";
let final = testString.replace(phoneRegex,'');
console.log(final);

This post有一些很棒的正则表达式,但似乎没有一个能在我的replace函数中工作。

    • 有效格式:**
(123) 456-7890
(123)-456-7890
(123).456.7890
(123).456-7890
(123)-456.7890
(123)456-7890
123-456-7890
123.456.7890
123 456 7890
1234567890
//ext.
    • 编辑:**由于帖子已关闭,我无法提交答案,请点击此处:
const removePhone = (text) => {
   let correction = [
       /\d{3}[-.\s]?\d{3}[-.\s]?\d{4}/g,
       /\(\d{3}\)[-.\s]?\d{3}[-.\s]?\d{4}/g,
       /^\D*(\d\D*){10}$/g,
   ];
   correction.map(regEx => {
       text = text.replaceAll(regEx, "");
   })
   return text;
}
doinxwow

doinxwow1#

您可以使用此正则表达式删除testString中出现的任何电话号码:/\b\d{3}-\d{3}-\d{4}\b/g
下面是一个示例代码:

const testString = "Hello world 999-999-9999"
const newString = testString.replace(/\b\d{3}-\d{3}-\d{4}\b/g, '');
console.log(newString);

正则表达式由以下元素组成:
\b开始或最后的一个宫殿(帕拉保证没有其他的广告之前或之后做电话号码)
\d{3}三个数字(数字)
-是一个
\d{3}迈斯三个数字(números)
-外轨
\d{4}迈斯四个数字(新数字)
\b开始或最后的一个palavra
正则表达式末尾的g意味着replace()方法应该删除出现的任何电话号码,如果不希望发生这种情况,只需删除g

相关问题