Javascript 如何防止正则表达式使用空格

Javascript 如何防止正则表达式使用空格,javascript,regex,regula,Javascript,Regex,Regula,我在做一个正则表达式,它可以有任意长度的电话号码,并且可以有(+和)在号码中的任意位置 ^[\s()+-]*([0-9][\s()+-]*){6,20}$ 但是这个正则表达式占用了其中的空格,这是不正确的。有人能帮我改变这个吗 从正则表达式模式中删除字符类\s,以避免匹配空白。还有带反斜杠的转义括号(),因为它们是元字符: ^[()+-]*([0-9][()+-]*){6,20}$ 您不需要空格,因此请删除\s空白速记字符类。我还认为您需要将*(零或更多)替换为?(一或零)。不必在字符类中转

我在做一个正则表达式,它可以有任意长度的电话号码,并且可以有(+和)在号码中的任意位置

^[\s()+-]*([0-9][\s()+-]*){6,20}$

但是这个正则表达式占用了其中的空格,这是不正确的。有人能帮我改变这个吗

从正则表达式模式中删除字符类
\s
,以避免匹配空白。还有带反斜杠的转义括号
()
,因为它们是元字符:

^[()+-]*([0-9][()+-]*){6,20}$

您不需要空格,因此请删除
\s
空白速记字符类。我还认为您需要将
*
(零或更多)替换为
(一或零)。不必在字符类中转义括号。注意:像点(
)和星号(
*
)这样的特殊字符在字符集中并不特殊,因此它们不需要转义。括号是这些字符之一。另外,请参见:字符类中唯一的特殊字符或元字符是右括号(
]
)、反斜杠(
\
)、插入符号(
^
)和连字符(
-
)。通常的元字符是字符类中的普通字符,不需要用反斜杠转义。但是第一个描述不好:他们说像点(.)和星号(*)这样的特殊字符在字符集中并不特殊。但是regexp中的特殊字符是:
\n\r\t\v\f\xxx\xhh
,元字符是:
^{.*()<>?$\\\\[+