国际电话号码的Javascript正则表达式

时间:2010-11-10 18:13:19

标签: javascript regex

以下正则表达式不适用于最多可包含15位数字的国际电话号码:

^[a-zA-Z0-9-().\s]{10,15}$

需要调整什么?

4 个答案:

答案 0 :(得分:7)

您可能会发现以下正则表达式更有用,它基本上首先删除international phone number可以包含的所有有效特殊字符(空格,parens,+-,{{1} },.)然后计算是否至少有7位数(有效本地号码的最小长度)。

ext

答案 1 :(得分:3)

尝试添加反斜杠:

var unrealisticPhoneNumberRegex = /^[a-zA-Z0-9\-().\s]{10,15}$/;

现在它仍然不是很有用,因为你也允许任意数量的标点字符。真的,验证这样的电话号码 - 特别是如果你想让它真正用于所有可能的国际电话号码 - 可能是一个绝望的任务。我建议你选择@BalusC建议的内容。

答案 2 :(得分:1)

答案 3 :(得分:0)

  

然后计算是否至少有7位数(有效本地号码的最小长度)。

世界上任何地方最短的本地号码只有两位或三位数。

有许多国家/地区没有区号。

有几个众所周知的地方有3位国家代码和4位本地号码。

谨慎地将你的限制降至6或5;以防万一。