Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式检查是否存在空格?_Javascript_Regex - Fatal编程技术网

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

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]

看起来很简单,但无法理解为什么这段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 = /\s/;

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

您需要双转义字符:

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


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

var无效=/\s/;
var value=“测试空间”;
var k=无效。测试(值);
警报(k)如果要匹配其中的内容,但没有空格:

alert(/^\S+$/.test(value));
var无效=/^/\s/;
var value=“测试值”;
var k=无效。测试(值);
警报(k)
alert(/^\S+$/.test(value));