提问人:Karan Nayyar 提问时间:10/13/2023 更新时间:10/13/2023 访问量:81
从电话号码字符串中删除空格、括号、加号、连字符等特殊字符 [duplicate]
Remove special characters like space,bracket,plus symbol,hyphen from phone number string [duplicate]
问:
我正在考虑以下情况,以从电话号码字符串中删除垃圾值或空格括号。
以下是我正在考虑的例子。
//Ignore Special char
phone = "+1-555-555-1234"
result = "15555551234"
phone = "1(800)555-0199"
result = "18005550199"
//Ignore Space
phone="555 555 1234"
result = "5555551234"
//If phone number contains spaces,parenthesis or some garbage character only consider digits.
phone = "9898871234567)"
result = "9898871234567"
//If + and parenthesis symbol is present
phone = "+11 111 111"
result = "11111111"
phone= "(22) 222-222"
result = "22222222"
//If hyphen is present
phone = "(22) 222-222"
result = "22222222"
我怎样才能使用正则表达式在javascript中轻松实现这一点?
答:
1赞
Steve Tomlin
10/13/2023
#1
const result = '11-11+11(33)'.replace(/\D/g, '');
// Remove any character that is NOT a number.
console.log(result)
评论
0赞
Mark Baijens
10/13/2023
由于明显的重复,投了反对票。
0赞
Steve Tomlin
10/13/2023
@MarkBaijens尊重,上面提供的重复示例是通用的,并不特定于此用例。
0赞
Mark Baijens
10/13/2023
没有冒犯,但快速搜索会发现有很多特定的重复问题(正如这种通用问题所预期的那样)。以我在问题下的评论为例。
0赞
Steve Tomlin
10/13/2023
@MarkBaijens绝对的,但 op 不知道正则表达式,因此问题来了。有时,一个可行的例子就足以让他们走上进一步发现的道路。正则表达式在最好的开发人员中不是一种容易理解的语言
0赞
Mark Baijens
10/13/2023
OP 标记了这个问题,并要求提供一个正则表达式示例,该示例完美地提供了副本。回答这样的问题不会给社区和问答数据库增加任何内容,应该始终关闭(友好的评论引导OP找到答案)。regex
评论
number.replace(/[+-/(/)\s]/g, '');