Javascript 适用于美国电话号码格式的正则表达式

Javascript 适用于美国电话号码格式的正则表达式,javascript,regex,validation,Javascript,Regex,Validation,我正在使用它进行验证。 对于+1(999)999-999电话号码,我在模式中使用此正则表达式 ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$ 但是它不起作用。在匹配可选的+ ^[+]*\d[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s./0-9]*$ 或者更精确一点的版本:: ^[+]?\d(?:\(\d{3}\)|[0-9]{3}) \d{3}-\d{3}$ 此正则表达式仅接受+(999)999-999。。。还要注意,需要以Jav

我正在使用它进行验证。 对于+1(999)999-999电话号码,我在模式中使用此正则表达式

^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$

但是它不起作用。

在匹配可选的
+

^[+]*\d[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s./0-9]*$

或者更精确一点的版本::

^[+]?\d(?:\(\d{3}\)|[0-9]{3}) \d{3}-\d{3}$

此正则表达式仅接受
+(999)999-999
。。。还要注意,需要以JavaScript的
RegExp
函数/构造函数可以使用的方式提供模式字符串。因此,一些特定于正则表达式的字符可能需要额外转义。我认为,OP需要将模式作为字符串值提供给
pattern
属性。因此,每个反斜杠都需要额外的转义。你的字符串化正则表达式将看起来像那样<代码>'^[+]?\\d(?:\\(\\d{3}\)\[0-9]{3})\\d{3}-\\d{3}$'。