国际电话号码的Javascript正则表达式
以下正则表达式不适用于最多允许15位数字的国际电话号码:国际电话号码的Javascript正则表达式,javascript,regex,Javascript,Regex,以下正则表达式不适用于最多允许15位数字的国际电话号码: ^[a-zA-Z0-9-().\s]{10,15}$ 需要调整什么?您可能会发现下面的正则表达式更有用,它基本上首先剥离了可以包含的所有有效特殊字符(空格、空格、+、-、、ext),然后计数是否至少有7位数字(有效本地数字的最小长度) 请参见并尝试添加反斜杠: var unrealisticPhoneNumberRegex = /^[a-zA-Z0-9\-().\s]{10,15}$/; 现在它仍然不是很有用,因为您还允许任意数量的标
^[a-zA-Z0-9-().\s]{10,15}$
需要调整什么?您可能会发现下面的正则表达式更有用,它基本上首先剥离了可以包含的所有有效特殊字符(空格、空格、
+
、-
、
、ext
),然后计数是否至少有7位数字(有效本地数字的最小长度)
请参见并尝试添加反斜杠:
var unrealisticPhoneNumberRegex = /^[a-zA-Z0-9\-().\s]{10,15}$/;
现在它仍然不是很有用,因为您还允许任意数量的标点符号。真的,像这样验证一个电话号码——特别是如果你想让它真正适用于所有可能的国际电话号码——可能是一项毫无希望的任务。我建议你按照@BalusC的建议去做
然后计数是否至少有7位数字(有效本地号码的最小长度)
世界上最短的本地号码只有两到三位数
许多国家没有区号
有几个著名的地方有3位国家代码和4位本地号码
明智的做法是将限额降至6或5;以防万一。您确定“国际电话号码”不超过15位吗?我只是按照我客户的指示行事。那么您的客户指示您遵循哪些规则?这{10,15}意味着什么?最小值是10位,最大值是15位吗?
var unrealisticPhoneNumberRegex = /^[a-zA-Z0-9\-().\s]{10,15}$/;