用于检查国际 phone 号码开头的正则表达式
Regex to check beginning of international phone number
我正在尝试创建一个正则表达式来验证用户输入的国际 phone 号码的前 2 个字符:
有效:+
、0
、+ followed by a number
、00
、0032476382763
、+324763
无效:0 followed by a number different than 0
、++
、everything that is not in the valid list
到目前为止我想出了:
/[0]|[00]|[+]|[+\d]]/g
但这验证了 ++
而不是 +2
。问题是我不知道如何根据字符数(1 或 2)进行验证。
我在 javascript
中使用了那个表达式。这是我处理的正则表达式:http://regexr.com/3br5v
我的正则表达式水平不是很好,所以任何帮助将不胜感激。
这似乎可以解决问题(修复误报错误 01
):
/^([+]|00|0$)(\d*)$/
以下模式适用于大样本:
((?:\+(?!\+)|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}$
如果你想验证完整的国际号码,你可以使用。
我正在尝试创建一个正则表达式来验证用户输入的国际 phone 号码的前 2 个字符:
有效:+
、0
、+ followed by a number
、00
、0032476382763
、+324763
无效:0 followed by a number different than 0
、++
、everything that is not in the valid list
到目前为止我想出了:
/[0]|[00]|[+]|[+\d]]/g
但这验证了 ++
而不是 +2
。问题是我不知道如何根据字符数(1 或 2)进行验证。
我在 javascript
中使用了那个表达式。这是我处理的正则表达式:http://regexr.com/3br5v
我的正则表达式水平不是很好,所以任何帮助将不胜感激。
这似乎可以解决问题(修复误报错误 01
):
/^([+]|00|0$)(\d*)$/
以下模式适用于大样本:
((?:\+(?!\+)|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}$
如果你想验证完整的国际号码,你可以使用。