Javascript:用于空白的正则表达式.test()

时间:2017-03-08 10:08:20

标签: javascript regex

查找任何空格字符时出现奇怪的正则表达式

new RegExp('^[^\s]+$').test('aaa');
=> true

这是预期的,但随后......

new RegExp('^[^\s]+$').test('aaa  ');
=> true

这是如何回归的?

1 个答案:

答案 0 :(得分:1)

您需要通过\转义字符串中的\\。否则,生成的正则表达式将为/^[^s]+$/,其匹配除字符串s以外的任何内容。

new RegExp('^[^\\s]+$').test('aaa  ');

或者您可以使用\S来匹配除空白之外的任何内容。

new RegExp('^\\S+$').test('aaa  ');

最好直接使用正则表达式而不是解析正则表达式字符串模式。

/^[^\s]+$/.test('aaa  ');

// or

/^\S+$/.test('aaa  ');