正则表达式将匹配有效的国际电话号码?在尝试拨打电话号码之前,我需要确定电话号码是否有效。电话可以去世界任何地方。正则表达式将匹配有效的国际电话号码?
3 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
\+(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)\d{1,14}$
是否匹配通用国际电话号码的正确格式。我用标准的国际访问代码标识符'+'替换了美国陆线中心国际访问代码011,使其成为强制性的。我还将国家号码的最小值更改为至少一位数。
请注意,如果您以此格式在手机地址簿中输入数字,无论您在何处旅行,都可以成功拨打地址簿中的任何号码。对于陆线,请将plus替换为您要拨打的国家/地区的国际访问代码。
请注意,这并未考虑国家号码计划规则 - 具体而言,它允许在国家号码计划可能不允许的位置使用零和一些,并且还允许某些国家/地区(例如美国)的号码长度大于国家号码计划。
冉冉说
TA贡献1877条经验 获得超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)\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*(\d{1,2})$
(i)允许有效的国际前缀
(ii)后跟9或10位数字,任何类型或位置的分隔符(最后两位数之间除外)
这将匹配:
+ 1-234-567-8901
+ 61-234-567-89-01
+ 46-234 5678901
+1(234)56 89 901
+1(234)56-89 901
+46.234.567.8901
+1 / 234 /八千九百○一分之五百六十七
- 3 回答
- 0 关注
- 1256 浏览
添加回答
举报
0/150
提交
取消