如何使用Javascript判断一个字符串是否只包含空格?

11

我该如何使用 JavaScript 判断一个输入字符串是否只包含空格?


只需使用搜索。 - ayk
5个回答

22

这是一个好的帖子:JavaScript更快的去除空格

你只需要应用 trim 函数并检查字符串长度。如果修剪后的长度为0,则该字符串仅包含空格。

var str = "data abc";
if((jQuery.trim( str )).length==0)
  alert("only spaces");
else 
  alert("contains other characters");

1
或者只需!str.trim() - Oriol

9
if (!input.match(/^\s*$/)) {
    //your turn...
} 

这意味着 input 是值,而不是输入元素。 - Joseph
是的,就像 var input="dfdfd" 这样,我想从实际输入中获取输入值并不是一个大问题。 - Chuck Norris
我更喜欢这个解决方案而不是.trim(),因为你正在寻找特定的字符模式,而这正是正则表达式所描述的。使用trim会让读者花费更长的时间来理解你巧妙的技巧。 - Chris

2

另外,您可以使用test()方法来返回布尔值而不是数组

//assuming input is the string to test
if(/^\s*$/.test(input)){
    //has spaces
}

0
最快的解决方案是使用正则表达式原型函数test(),并查找任何不是空格或换行符的字符\S
if (/\S/.test(str))
{
    // found something other than a space or a line break
}

如果你有一个超长的字符串,它可能会产生很大的影响。

0
if(!input.match(/^([\s\t\r\n]*)$/)) {
    blah.blah();
} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接