Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 Regex检查国际电话号码的开头_Javascript_Regex_Validation_Phone Number - Fatal编程技术网

Javascript Regex检查国际电话号码的开头

Javascript Regex检查国际电话号码的开头,javascript,regex,validation,phone-number,Javascript,Regex,Validation,Phone Number,我正在尝试创建一个正则表达式,在用户键入国际电话号码时验证该号码的前两个字符: 有效:+,0,+后接数字,00,0032476382763,+324763 无效:0后跟一个不同于0的数字,++,无效列表中的所有内容 到目前为止,我提出了: /[0]|[00]|[+]|[+\d]]/g 但这会验证++,但不会验证+2。问题是,我无法根据字符数(1或2)确定如何进行验证 我在javascript中使用了这个表达式。这是我工作过的正则表达式: 我在正则表达式中的级别不是很好,因此非常感谢您的帮助。这

我正在尝试创建一个正则表达式,在用户键入国际电话号码时验证该号码的前两个字符:

有效:
+
0
+后接数字
00
0032476382763
+324763

无效:
0后跟一个不同于0的数字,
++
无效列表中的所有内容

到目前为止,我提出了:

/[0]|[00]|[+]|[+\d]]/g
但这会验证
++
,但不会验证
+2
。问题是,我无法根据字符数(1或2)确定如何进行验证

我在
javascript
中使用了这个表达式。这是我工作过的正则表达式:


我在正则表达式中的级别不是很好,因此非常感谢您的帮助。

这似乎可以解决问题(修复了误报的错误
01
):


以下模式适用于大样本:

((?:\+(?!\+)|0(?:(?![1-9])))\d*)

这应该可以:

^[1-9]\d|\+[1-9]|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)\d{1,14}$
这是用于哪种语言的?Perl/C#/…?@rbm我编辑了我的博文,在您的示例中,您错误地使用了
[]
[]
表示字符类,因此
[0]
将只匹配零,
[00]
[0]
完全相同。它不是分组结构。所以
00
是有效的电话号码吗?据我所知,那只是一个前缀。@hjpotter92:对不起,布莱恩跳过了一个节拍。
+
代表“国际线路所需的一切”,这正是我所想的。哎呀,似乎
01
是一个误报,试图修复。在post中更新了正则表达式
^[1-9]\d|\+[1-9]|00