如何检查一个变量在JavaScript中是空的还是空的字符串或全部空格?

2022-08-30 04:07:28

我需要检查变量是否为空或具有所有空格或只是空白(“”)。

我有以下,但它不起作用:

var addr;
addr = "  ";

if (!addr) {
    // pull error 
}

如果我执行以下操作,它可以工作:

if (addr) {

}​

我需要的是类似于C#方法String.IsNullOrWhiteSpace(value)的东西


答案 1

一个非 jQuery 解决方案,它更接近于 模仿 ,但只检测空、空或全空格:IsNullOrWhiteSpace

function isEmptyOrSpaces(str){
    return str === null || str.match(/^ *$/) !== null;
}

...然后:

var addr = '  ';

if(isEmptyOrSpaces(addr)){
    // error 
}

* 编辑 *请注意,op 特别声明:

我需要检查var是否为空或是否有任何空格,或者只是空白

因此,虽然是的,“空白”包含的不仅仅是空,空格或空白,但我的答案旨在回答op的具体问题。这很重要,因为op可能不想捕获诸如选项卡之类的东西。


答案 2
if (addr == null || addr.trim() === ''){
  //...
}

比较也会发现.如果您也想通过,请使用 .对于向后浏览器兼容性,请交换 。nullundefinedfalse!addraddr.trim()$.trim(addr)