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