Javascript 正则表达式检测页面源中的所有电话号码

标签 javascript regex phone-number

谁能帮我弄清楚如何做到这一点? 我现在的是(我在某处找到它):

/(\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d| 2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7)[0-9.- ]{4,14})(?:\b|x\d+)/

可以检测:+86-400-660-8680

但不是这个:

  • +1 888 204 3539
  • 1-800-667-6389
  • +1-400-660-8680
  • (877) 359-6695
  • 800-692-7753

你能帮我解决这个问题吗? 1 个正则表达式可以检测所有这些类型的电话号码,或者至少我可以使用 2-3 个正则表达式来检测它们。

最佳答案

所以这是满足您需求的巨大正则表达式:

(+?(?:(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)|((?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)))[0-9. -]{4,14})(?:\b|x\d+)

Online demo

here我就是这样做的。

关于Javascript 正则表达式检测页面源中的所有电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16631571/

相关文章:

ios - 以编程方式将新电话号码添加到地址簿中的联系人(iPhone)

ping - 有什么办法可以 "ping"一个电话号码?

javascript - 是否仍然没有简单的方法可以将带有复合表情符号的字符串拆分为数组?

javascript - 从外部 JavaScript 文件动态更改输入 ID 的类型

c# - 从 C# 中的字典匹配正则表达式

javascript - 正则表达式阻止电子邮件的名称部分全部为数字

javascript - 使用 Javascript 验证电话号码

javascript - 可拖动始终位于最外层可排序

javascript - 使用数组分隔符 ("intersperse"连接数组序列)

python - 正则表达式匹配回句点或字符串开头