Javascript 正则表达式检查是否存在空格?
看起来很简单,但无法理解为什么这段javascript代码不工作(返回false,而预期为true)-我猜它和转义字符有关?有人能帮我写一个JS块,如果有空格,它会返回true吗Javascript 正则表达式检查是否存在空格?,javascript,regex,Javascript,Regex,看起来很简单,但无法理解为什么这段javascript代码不工作(返回false,而预期为true)-我猜它和转义字符有关?有人能帮我写一个JS块,如果有空格,它会返回true吗 var inValid = new RegExp("[\s]"); var value = "test space"; var k = inValid.test(value); alert(k); 如果从字符串文字创建RegExp对象,则需要转义反斜杠: var inValid = new RegExp("[\\s]
var inValid = new RegExp("[\s]");
var value = "test space";
var k = inValid.test(value);
alert(k);
如果从字符串文字创建RegExp对象,则需要转义反斜杠:
var inValid = new RegExp("[\\s]");
或者,您可以只使用以下选项:
var inValid = /\s/;
这使用了正则表达式文字,因此不需要转义反斜杠,这里也不需要字符类,因此我也删除了方括号。您需要双转义字符: 一个用于“s”,另一个用于“\”本身:
您不需要括号,需要转义反斜杠(如果使用字符串形式),而内置正则表达式语法更容易,因为使用内置正则表达式语法时不必转义反斜杠
var无效=/\s/;
var value=“测试空间”;
var k=无效。测试(值);
警报(k)代码>如果要匹配其中的内容,但没有空格:
alert(/^\S+$/.test(value));
var无效=/^/\s/;
var value=“测试值”;
var k=无效。测试(值);
警报(k)代码>
alert(/^\S+$/.test(value));