如何检查字符串是否包含字符&空白,而不仅仅是空白?

时间:2010-01-08 22:06:47

标签: javascript string whitespace

检查字符串是否只包含空格的最佳方法是什么?

允许该字符串包含带有空格的组合字符,但不包含 空格。

9 个答案:

答案 0 :(得分:269)

不是检查整个字符串以查看是否只有空格,而是检查空格中是否至少有一个字符:

if (/\S/.test(myString)) {
    // string is not empty and not just whitespace
}

答案 1 :(得分:30)

if (/^\s+$/.test(myString))
{
      //string contains only whitespace
}

检查一个或多个空格字符,如果它也匹配空字符串,则将+替换为*

答案 2 :(得分:22)

如果您的浏览器支持trim()功能

,则最简单的答案
if (myString && !myString.trim()) {
    //First condition to check if string is not empty
    //Second condition checks if string contains just whitespace
}

答案 3 :(得分:17)

好吧,如果您使用的是jQuery,那就更简单了。

if ($.trim(val).length === 0){
   // string is invalid
} 

答案 4 :(得分:6)

只需检查此正则表达式的字符串:

if(mystring.match(/^\s+$/) === null) {
    alert("String is good");
} else {
    alert("String contains only whitespace");
}

答案 5 :(得分:1)

if (!myString.replace(/^\s+|\s+$/g,""))
  alert('string is only whitespace');

答案 6 :(得分:0)

当我想在字符串中间允许空格时,我最终使用的正则表达式,但不是在开头或结尾处是这样的:

[\S]+(\s[\S]+)*

^[\S]+(\s[\S]+)*$

所以,我知道这是一个老问题,但你可以这样做:

if (/^\s+$/.test(myString)) {
    //string contains characters and white spaces
}

或者您可以执行nickf所说和使用的内容:

if (/\S/.test(myString)) {
    // string is not empty and not just whitespace
}

答案 7 :(得分:0)

我使用以下方法来检测字符串是否仅包含空格。它还匹配空字符串。

if (/^\s*$/.test(myStr)) {
  // the string contains only whitespace
}

答案 8 :(得分:0)

这可能是快速的解决方法

return input < "\u0020" + 1;