正则表达式验证美国格式的电话号码

时间:2014-12-22 11:26:30

标签: regex

  

应符合以下条件: -

  • (222)-333-4444
  • (010)-123-3435
  • (100)-454-6565

但是应该禁止: -

(000)-000-0000

唯一的问题是当输入全部为零时。否则我的正则表达式: -

^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$

工作得很好__。

演示 http://regexstorm.net/tester

1 个答案:

答案 0 :(得分:1)

你可以使用这种基于正则表达式的负前瞻:

^(?![0()-]+$)\(?(\d{3})\)?[-. ]?(\d{3})[-. ]?(\d{4})$

RegEx Demo

  • (?![0()-]+$)是一个负面的预测,如果匹配只有[0()-]字符直到结束,则表示匹配失败。