我正在尝试综合使用一个正则表达式来验证电话号码。理想情况下,它将处理国际格式,但必须处理美国格式,包括以下内容:

  • 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”和“+”除外),要小心,因为英国人倾向于在要求使用国际标准时以非标准格式+44 (0) ...写入数字前缀(在这种情况下,您应该完全丢弃(0))。

    然后,最终得到如下值:

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

    然后,当您显示时,请重新格式化您的内心内容。例如
      1 (234) 567-8901
      1 (234) 567-8901 x1234
    

    关于regex - 如何使用正则表达式验证电话号码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/123559/

    10-10 02:38