如何检查字符串是否包含空格或空格?

时间:2016-01-29 22:30:00

标签: javascript jquery regex

如果字符串不包含任何内容或只包含空格,我需要返回true,否则false

var str = "";     // true
var str = "   ";  // true
var str = "  1 "; // false
var str = " s ";  // false

我该怎么做?

我尝试过使用/^\s*?$/

3 个答案:

答案 0 :(得分:1)

/^ *$/
  • ^ - 从一开始
  • $ - 直到结束
  • * - 字符串由零个或多个空格
  • 组成

See it in action

答案 1 :(得分:1)

我会用空格替换空格,看看长度是多少。

var strTest = str.replace(" ","");
if(strTest.length == 0) {dowork();}

如果字符串是全部空格,那么长度将为0。

答案 2 :(得分:1)

你也可以这样做:

if (!str || !str.replace(/ /g, "")) {
    // str is either empty, null, undefined or has nothing in it other than spaces
}

如果str nullundefined也是如此,这也可以保护您。

这是使用OP测试用例的演示:



var testStrings = ["", "   ", "  1  ", " s "];

testStrings.forEach(function(str) {
  var result = false;
  if (!str || !str.replace(/ /g, "")) {
    // str is either empty, null, undefined or has nothing in it other than spaces
    result = true;
  }
  log('"' + str + '"' + " tests as " + result + "<br>");
});

function log(x) {
  var r = document.getElementById("results");
  var div = document.createElement("div");
  div.innerHTML = x;
  r.appendChild(div);
}
&#13;
<pre id="results"></pre>
&#13;
&#13;
&#13;