带有国家代码前缀的美国电话号码的正则表达式

时间:2020-03-14 12:05:40

标签: regex phone-number

我想为带有国家代码前缀的美国电话号码写一个正则表达式。格式应为

+12345678900
+1 (801) 234 5678
+1801-234-5678

1 个答案:

答案 0 :(得分:2)

尝试一下,这在您的3种格式之间使用OR(|)。可以调整为严格程度。

https://regex101.com/r/c9G5ZO/1

\+\d{11}|\+\d\s?\(\d{3}\)(\s?\d){7}|\+(\d[-]?){11}

由于是美国,因此您可以将第一个数字强制为1,而不是\d,如下所示:

\+1\d{10}|\+1\s?\(\d{3}\)(\s?\d){7}|\+1(\d[-]?){10}