Javascript:如何检查字符串是否为空?

And*_*rew 91 javascript string

可能重复:
在JavaScript中检查空字符串的最佳方法是什么?

我知道这是非常基本的,但我是javascript的新手,无法在任何地方找到答案.

如何检查字符串是否为空?

Dus*_*ine 130

我检查长度.

if (str.length == 0) {
}
Run Code Online (Sandbox Code Playgroud)

  • 我有点迂腐但是`if(!str || str.length === 0)`会更好.(注意3等于标志.)虽然+1给@Dustin. (39认同)
  • 如果在字符串中添加空格,`length`计算空格,因此使用`length`我们无法确定字符串是否为空. (8认同)
  • @evolquez空格与空格不同,因此null为空.空间是一个字符,所以它不能被视为""".OP正在询问空字符串,我认为这个解决方案效果很好. (6认同)
  • @ChrisNash我理解为什么`===`通常更好,但是对于这种特定情况,由于类型转换,我找不到`str.length`为零的原因。您是否将其用作惯例,还是有示例可以得到意想不到的结果? (2认同)
  • 不要忘记修剪`if(!str || str.trim()。length === 0)` (2认同)

nxt*_*nxt 46

如果你想知道它是否为空字符串,请使用===而不是==.

if(variable === "") {
}
Run Code Online (Sandbox Code Playgroud)

这是因为如果两边的值都是相同的类型,则===只会返回true,在本例中为字符串.

例如:(false =="")将返回true,而(false ==="")将返回false.


Tom*_*tle 10

这应该工作:

if (variable === "") {

}
Run Code Online (Sandbox Code Playgroud)

  • 如果变量实际上是一个字符串,那么这是正确的,但如果variable = false或0或null,它也将返回true.使用===代替. (6认同)

Chr*_*cha 8

但为了更好的检查:

if(str === null || str === '')
{
    //enter code here
}
Run Code Online (Sandbox Code Playgroud)

  • 实际上我打算在它关闭之前编辑它:if(!str || str ==""){//在这里输入代码}有很多方法可以做到这一点,但是如果String有" " 在里面.空是**不是**null. (3认同)
  • 您在哪里了解到JS中的null变量长度为0?您找到此信息的来源是什么? (3认同)

Ray*_*Ray -12

if (value == "") {
  // it is empty
}
Run Code Online (Sandbox Code Playgroud)

  • 如果 value 确实是一个字符串,那么这是正确的,但如果 value = false 或 0 或 null,它也会返回 true。使用 === 代替。 (10认同)
  • @Gumbo:在我看来,在所有情况下都有效的答案比提供最低限度的答案更好,所以我同意 Residuum 的观点。对于初学者来说,指出这样的事情尤其重要。 (3认同)
  • @Residuum:问题是“如何检查字符串是否为空?” (2认同)
  • @Gumbo:正如问题所暗示的,提问者没有 Javascript 经验。由于 Javascript 不是强类型语言,因此不显式检查类型也是常见的错误来源。去过也做过。 (2认同)

归档时间:

查看次数:

462510 次

最近记录:

6 年,4 月 前