JavaScript中是否存在字符串.Empty,还是只是检查“”?


当前回答

我通常用这样的东西,

if (!str.length) {
    // Do something
}

其他回答

我使用组合,最快的检查是第一个。

function isBlank(pString) {
    if (!pString) {
        return true;
    }
    // Checks for a non-white space character
    // which I think [citation needed] is faster
    // than removing all the whitespace and checking
    // against an empty string
    return !/[^\s]+/.test(pString);
}

检查是否为空:

var str = "Hello World!";
if(str === ''){alert("THE string str is EMPTY");}

要检查它是否为string类型,请执行以下操作:

var str = "Hello World!";
if(typeof(str) === 'string'){alert("This is a String");}

所有这些答案都很好。

但我不能确定变量是一个字符串,不只包含空格(这对我来说很重要),并且可以包含“0”(字符串)。

我的版本:

function empty(str){
    return !str || !/[^\s]+/.test(str);
}

empty(null); // true
empty(0); // true
empty(7); // false
empty(""); // true
empty("0"); // false
empty("  "); // true

jsfiddle上的示例。

试试看:

export const isEmpty = string => (!string || !string.length);
var x ="  ";
var patt = /^\s*$/g;
isBlank = patt.test(x);
alert(isBlank); // Is it blank or not??
x = x.replace(/\s*/g, ""); // Another way of replacing blanks with ""
if (x===""){
    alert("ya it is blank")
}