谁能帮我弄清楚如何做到这一点? 我现在的是(我在某处找到它):
/(\+(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+)
和here我就是这样做的。
关于Javascript 正则表达式检测页面源中的所有电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16631571/