如何使用正则表达式验证电话号码中的国家/地区代码

时间:2013-11-16 08:19:28

标签: javascript asp.net regex validation

我创建的asp.net regex validator应该使用国家/地区代码验证手机号码 数字可以是: +41 44 221 21 20或0041 44 221 21 20或同样没有空格
我尝试了一些东西,但它不起作用:

\+(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)
\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*(\d{1,2})$

如何为此验证制作正则表达式?

1 个答案:

答案 0 :(得分:2)

假设您的国家/地区代码列表正确无误,以下内容应该有效:

^(\+|00)(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)(\s?\d){9}$

匹配可以从+00开始,然后是国家/地区代码,后跟一系列9个数字,可以用空格分隔。

注意:如果您尝试在较长的字符串中匹配这些数字,请从正则表达式的末尾删除^$

Working on RegexPal