JavaScript中是否存在字符串.Empty,还是只是检查“”?
当前回答
我通常使用以下内容:
if (str == "") {
//Do Something
}
else {
//Do Something Else
}
其他回答
使用空合并运算符修剪空格:
if (!str?.trim()) {
// do something...
}
另一种方式,但我相信bdukes的答案是最好的。
var myString = 'hello';
if(myString.charAt(0)){
alert('no empty');
}
alert('empty');
所有这些答案都很好。
但我不能确定变量是一个字符串,不只包含空格(这对我来说很重要),并且可以包含“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上的示例。
检查您是否试图传递未定义的术语也是一个好主意。
function TestMe() {
if((typeof str != 'undefined') && str) {
alert(str);
}
};
TestMe();
var str = 'hello';
TestMe();
我通常遇到这样的情况:当对象实例的字符串属性不为空时,我想做一些事情。这很好,只是属性并不总是存在。
我宁愿使用非空白测试而不是空白测试
function isNotBlank(str) {
return (str && /^\s*$/.test(str));
}