我看到了this question,但没有看到JavaScript特定的示例。 JavaScript中是否提供简单的string.Empty
,还是仅检查""
的一种情况?
如果您只想检查是否有任何价值,可以这样做
if (strValue) {
//do something
}
[如果您需要专门检查null上的空字符串,我认为使用""
来检查the ===
operator是最好的选择(这样您就可以知道它实际上是您要比较的字符串反对)。
===
尝试:
我不太担心最有效
您也可以使用正则表达式:
很多答案,还有很多不同的可能性!
if (!str.length) {...}
是否存在[此外,如果您将空格填充的字符串视为“空”。您可以使用此正则表达式进行测试:
我通常使用这样的东西,
我还没有注意到一个考虑到字符串中可能存在空字符的答案。例如,如果我们有一个空字符串:
所有这些答案都很好。
同时,我们可以使用一个函数来检查所有'空',例如null,undefined,'','',{},[]
用于检查字符串是否为空,空或未定义,我使用:
if (strValue === "") {
//...
}
用于检查字符串是否为空,空或未定义,我使用:
function isEmpty(str) {
return (!str || 0 === str.length);
}
用于检查字符串是否为空白或仅包含空格:
function isBlank(str) {
return (!str || /^\s*$/.test(str));
}
到目前为止,没有像string.empty这样的直接方法可以检查字符串是否为空。但是在您的代码中,您可以使用包装检查是否为空字符串,例如:
如果您不仅需要检测空字符串,还需要检测空白字符串,我将在Goral的答案中添加:
尝试一下
您可以轻松地将其添加到JavaScript
尝试一下:
检查是否完全是空字符串:
我使用组合,最快的检查是第一位。
忽略空格字符串,您可以使用它来检查null,空和未定义的内容:
我做了一些研究,如果将非字符串和非空/空值传递给测试器函数,会发生什么情况。众所周知,(0 ==“”)在javascript中为true,但由于0是一个值且不是空或null,因此您可能需要对其进行测试。
没有String.prototype.IsNullOrEmpty = function (value) { ... }
var myvar = null;
if (1 == 2) { myvar = "OK"; } // could be set
myvar.IsNullOrEmpty(); // throws error
方法,您必须检查类型和长度:
以上所有都是好的,但这会更好。使用String.prototype.isEmpty = function() {
return (this.length === 0 || !this.trim());
};
(not not)运算符。
!!
或使用类型转换:
if(!!str){
// some code here
}
两者都执行相同的功能,将变量转换为布尔值,其中if(Boolean(str)){
// code here
}
是变量。为str
返回false
。返回字符串“ 0”和空格“”的null,undefined,0,000,"",false
。
我在这里没有看到好的答案(至少不是适合我的答案)所以我决定回答自己:
您可以得到的最接近true
的东西(前提是str是字符串):
str.Empty
如果需要确保字符串不只是一堆空白(我假设这是用于表单验证),则需要对这些空格进行替换。
if (!str.length) { ...
我使用:
if(str.replace(/\s/g,"") == ""){
}
您可以使用function empty(e) {
switch (e) {
case "":
case 0:
case "0":
case null:
case false:
case typeof(e) == "undefined":
return true;
default:
return false;
}
}
empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
return ""
})) // false
:_.isEmpty(值)。
它涵盖了很多情况,例如lodash,{}
,''
,null
等。>
但是对于undefined
的true
类型,如Number
或Javascript Primitive Data Types,它总是返回_.isEmpty(10)
。
功能:
function is_empty(x)
{
return (
(typeof x == 'undefined')
||
(x == null)
||
(x == false) //same as: !x
||
(x.length == 0)
||
(x == "")
||
(x.replace(/\s/g,"") == "")
||
(!/[^\s]/.test(x))
||
(/^\s*$/.test(x))
);
}