正则表达式接受字符串前后的空格

时间:2018-04-27 20:52:02

标签: javascript reactjs react-native

我试图做一个接受包含3到10个字符的字符串的正则表达式(允许字符串前后的空格)。

为什么这样:

return (this.state.user.name.match(`^\s*([a-zA-Z0-9.\-_]{3,10})\s*$`));
当我尝试在字符串之前和/或之后放置空格时,

返回false? (如果我不放空格,它就能正常工作。)

我可能遗漏了一些东西,因为它使用正则表达式测试器: https://regex101.com/r/2371SM/1

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

当您将正则表达式作为字符串传递时,您必须执行双\\以便转义\而不是后面的字母:

console.log(((" abcd").match(`^\\s*([a-zA-Z0-9.\-_]{3,10})\\s*$`)));

console.log(((" abcd").match(/^\s*([a-zA-Z0-9.\-_]{3,10})\s*$/)));