Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
国际电话号码的Javascript正则表达式_Javascript_Regex - Fatal编程技术网

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

国际电话号码的Javascript正则表达式,javascript,regex,Javascript,Regex,以下正则表达式不适用于最多允许15位数字的国际电话号码: ^[a-zA-Z0-9-().\s]{10,15}$ 需要调整什么?您可能会发现下面的正则表达式更有用,它基本上首先剥离了可以包含的所有有效特殊字符(空格、空格、+、-、、ext),然后计数是否至少有7位数字(有效本地数字的最小长度) 请参见并尝试添加反斜杠: var unrealisticPhoneNumberRegex = /^[a-zA-Z0-9\-().\s]{10,15}$/; 现在它仍然不是很有用,因为您还允许任意数量的标

以下正则表达式不适用于最多允许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}$/;