如何为手机号码和固定电话号码应用正则表达式模式

时间:2013-12-18 14:09:00

标签: android regex string

我想应用正则表达式模式来识别美国,英国和印度等国家的所有手机号码和固定电话号码。 目前我使用以下模式

  

(:+ \ S * \ d {2} [\ S - ]的?)?(?:\ d [ - \ S] ){10}

不幸的是,它只识别没有国家/地区代码的10位数字。此外,如果有人知道一个好的正则表达式来识别固定电话号码,请告诉我。

1 个答案:

答案 0 :(得分:1)

^(([^\.\-\,a-wy-z]([\(]?(\+|[x])?\d+[\)]?)?[\s\.\-\,]?([\(]?\d+[\)]?)?[\s\.\-\,]?(\d+[\s\.\-\,]?)+[^\.\-\,a-z])|((\+|[x])?\d+))$

这应该与您要查找的大多数电话号码相匹配。

<强>匹配

201-654-5932
201 654 5932
(201)-654-5932
201.654.5932
X201.654.5932
+1 201.654.5932
1.123.123.123
020 1234 5678
02-9323-1234
(02) 9323 1234
1-561-555-1212
12345-1234
(913) 451-6461
(+447222)555555
+44 7222 555 555
+91-98-44111112
+91-9844111112
+44(7222)555555
1(240) 652-5009
(0833)1234567-8888
+974-584-5656
+44 07222 555555
1.2123644567
1-(212)-123 4567
1212-364,4321
0-212364345
(658)154-1122
123131312312
875 (489 1568)
(+91)(240) 652-5009

<强>非匹配

+()-
(+)-,.
493 -- 3227341
240/752-5009
(+91)(240)(876867) 652-5009
+974-5dadad32d84-5656
++44 07222 555555
0-234.567/8912
0212\345/6789
652-5009.
652-5009-
652-5009,
.652-5009
-652-5009
,652-5009
1-800-ALPHNUM
a-12-3
(658 154 1122
658 154 1122)

来源:http://regexlib.com/REDetails.aspx?regexp_id=2693