用于检查国际 phone 号码开头的正则表达式

Regex to check beginning of international phone number

我正在尝试创建一个正则表达式来验证用户输入的国际 phone 号码的前 2 个字符:

有效:+0+ followed by a number000032476382763+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*)$/

https://regex101.com/r/qT0dB7/2

以下模式适用于大样本:

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

https://regex101.com/r/bL0uX9/2

这应该有效:

^[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}$

如果你想验证完整的国际号码,你可以使用。