带括号的JavaScript正则表达式不起作用

带括号的JavaScript正则表达式不起作用,javascript,regex,Javascript,Regex,我正在尝试编写正则表达式,它将检测形式为(123)4567890的字符串。字符串的开头有一个括号,三个任意数字,后面有括号,后面有七个任意数字 这是我的正则表达式: const plainTenDigitsTwoParentheses = /^( \(\d{3}\)\d{7} )$/.test("(123)4567890"); 上面的正则表达式生成false,而我希望它生成true。我在这里遗漏了什么?您的示例代码有一个小问题。尝试删除括号之间的空格,它会起作用。您的正则表达式中有可能不应该包

我正在尝试编写正则表达式,它将检测形式为
(123)4567890
的字符串。字符串的开头有一个括号,三个任意数字,后面有括号,后面有七个任意数字

这是我的正则表达式:

const plainTenDigitsTwoParentheses = /^( \(\d{3}\)\d{7} )$/.test("(123)4567890");

上面的正则表达式生成
false
,而我希望它生成
true
。我在这里遗漏了什么?

您的示例代码有一个小问题。尝试删除括号之间的空格,它会起作用。

您的正则表达式中有可能不应该包含的空格there@David784,这很有帮助。谢谢你。我看不出有任何理由用那些外括号。它们只是捕获整个匹配,不管怎样都会捕获,以防您在执行此操作之前和之后需要处理零个或多个空格:
/^\s*(\(\d{3}\)\d{7})\s*$/
@Oram,谢谢。我知道你在说什么。但我不知道正则表达式本身中的空格。这就是我最后问这个问题的原因。现在一切都清楚了。