- 此问题在此处已有答案**:
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;
}
1条答案
按热度按时间doinxwow1#
您可以使用此正则表达式删除testString中出现的任何电话号码:
/\b\d{3}-\d{3}-\d{4}\b/g
下面是一个示例代码:
正则表达式由以下元素组成:
\b
开始或最后的一个宫殿(帕拉保证没有其他的广告之前或之后做电话号码)\d{3}
三个数字(数字)-
是一个\d{3}
迈斯三个数字(números)-
外轨\d{4}
迈斯四个数字(新数字)\b
开始或最后的一个palavra正则表达式末尾的
g
意味着replace()方法应该删除出现的任何电话号码,如果不希望发生这种情况,只需删除g