如何使用regex验证电话号码

我正试图建立一个全面的正则表达式来验证电话号码。理想情况下,它将处理国际格式,但它必须处理美国格式,包括以下内容:

  • 1-234-567-8901
  • 1-234-567-8901 x1234
  • 1-234-567-8901 ext1234
  • 1(234)567-8901
  • 1.234.567.8901
  • 1/234/567/8901
  • 12345678901

我将用我目前的尝试来回答,但我希望有人有更好和/或更优雅的东西

更好的选择。。。只需去除输入中的所有非数字字符(除“x”和前导“+”符号外),要小心,因为英国人在要求使用国际前缀时倾向于以非标准形式书写数字。(0)(在这种情况下,您应该完全丢弃(0)

然后,您将得到如下值:

12345678901
12345678901x1234
345678901x1234
12344678901
12345678901
12345678901
12345678901
+4112345678
+441234567890

然后,当您显示时,重新格式化为您的心满意足。e、 g

1(234)567-8901
1(234)567-8901 x1234

发表评论