JavaScript中是否存在字符串.Empty,还是只是检查“”?
当前回答
以下正则表达式是另一种解决方案,可用于null、空或未定义的字符串。
(/(null|undefined|^$)/).test(null)
我添加了这个解决方案,因为它可以进一步扩展,以检查空值或某些值,如下所示。下面的正则表达式正在检查字符串是否可以是空的、空的、未定义的或只有整数。
(/(null|undefined|^$|^\d+$)/).test()
其他回答
我在这里没有找到好答案(至少没有适合我的答案)
所以我决定自己回答:
value==未定义| | value==null | | value===“”;
你需要开始检查它是否未定义。否则,您的方法可能会爆炸,然后您可以检查它是否等于null或等于空字符串。
你不能拥有!!或者仅当(value),因为如果你勾选0,它会给你一个错误的答案(0是错误的)。
话虽如此,用如下方法将其包装起来:
公共静态isEmpty(值:any):布尔值{返回值==未定义| |值==null | |值===“”;}
PS.:你不需要检查typeof,因为它甚至在进入方法之前就会爆炸并抛出
使用空合并运算符修剪空格:
if (!str?.trim()) {
// do something...
}
试试这个
str.value.length == 0
我不会太担心最有效的方法。使用最明确的意图。对我来说,这通常是strVar==“”。
根据Constantin的评论,如果strVar可以包含一个0整数值,那么这确实是一种意图明确的情况。
我使用组合,最快的检查是第一个。
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);
}