正常表达以匹配北美电话号码不起作用

时间:2015-06-04 10:10:22

标签: regex

^(\(\d{3}\)|^\d{3}[.-]?)?\d{3}[.-]?\d{4}$

以上是regular expression我创建的用于匹配代码中带括号和不带括号的北美电话号码。但它不起作用,我似乎没有找到问题。

(180)-555-5555 --> Not Matching
180-555-5555 --> Matching

有人帮我理解为什么这不匹配? '\(\d{3}\)'用于捕获括号。

1 个答案:

答案 0 :(得分:1)

你可以试试这个,

^(\(\d{3}\)|\d{3})?([.-]?)\d{3}\2\d{4}$

DEMO