正则表达式检查空格是否存在?

时间:2013-04-16 22:18:24

标签: javascript regex

看起来很简单,但无法弄清楚为什么这个javascript代码无法正常工作返回false,当期待真实时) - 我猜它必须用转义字符做一些事情?有人可以帮我写一个JS块,如果有空格,它会返回true吗?

var inValid = new RegExp("[\s]");
var value = "test space";
var k = inValid.test(value);
alert(k);

5 个答案:

答案 0 :(得分:21)

您不需要括号,您需要转义反斜杠(如果使用字符串形式)并且内置的正则表达式语法更容易,因为在使用内置正则表达式时不必转义反斜杠语法。

var inValid = /\s/;
var value = "test space";
var k = inValid.test(value);
alert(k);

答案 1 :(得分:4)

如果要从字符串文字创建RegExp对象,则需要转义反斜杠:

var inValid = new RegExp("[\\s]");

或者您可以使用以下内容:

var inValid = /\s/;

这使用正则表达式文字,因此不需要转义反斜杠,并且不需要这里的字符类,所以我也删除了方括号。

答案 2 :(得分:4)

如果你想在那里匹配某些东西,但没有空格:

alert(/^\S+$/.test(value));

答案 3 :(得分:3)

你需要一个双重转义字符:

一个用于“s”,一个用于“\”本身:

var inValid = new RegExp("[\\s]");

答案 4 :(得分:-1)

var inValid = /^/\s/;
var value = "test value";
var k = inValid.test(value);
alert(k);