Javascript通用isBlank函数

Javascript通用isBlank函数,javascript,Javascript,我正在JS中开发一个通用的isBlank函数,比如JavaStringUtils.isBlank() 如果我错过了==vs===或更好的实现,我想听听您对实现的意见? 因此,以下内容被视为空白: var a; //undefined => true var b = null; //null => true var c = ''; //emptyString => true var d = ' '; //emptyStr

我正在JS中开发一个通用的isBlank函数,比如JavaStringUtils.isBlank()
如果我错过了==vs===或更好的实现,我想听听您对实现的意见?
因此,以下内容被视为空白:

var a;         //undefined => true
var b = null;  //null            => true
var c = '';    //emptyString     => true
var d = '  ';   //emptyString    => true
var e = ' \b \f \n \r \t \v \0 ';   //emptyString with other white space => true
实施:

    function isBlank(value){      
        return(value == undefined || value == null || value.trim() == '');
    }
var-a//未定义=>true
var b=零//null=>true
var c=“”;//emptyString=>true
var d=“”//emptyString=>true
变量d1='\b\f\n\r\t\v\0';
变量e='X'//char=>false
变量f='#'//char=>false
变量g='1'//数字=>假
函数为空(值){
返回(value==undefined | | value==null | | value.trim()=='');
}
log('a=>'+isBlank(a));
log('b=>'+isBlank(b));
log('c=>'+isBlank(c));
log('d=>'+isBlank(d));
log('d1=>'+isBlank(d1));
log('e=>'+isBlank(e));
log('f=>'+isBlank(f));

log('g=>'+isBlank(g))您可以使用
缩短函数
运算符,它将
未定义的
null
转换为true(因为它将falsy值取反):

var-a//未定义=>true
var b=零//null=>true
var c=“”;//emptyString=>true
var d=“”//emptyString=>true
变量e='X'//char=>false
变量f='#'//char=>false
变量g='1'//数字=>假
var h=1//数字=>假
变量d1='\b\f\n\r\t\v\0';//空白=>true
变量d2='\b\f\n aa\r\t\v\0';//带常规文本的空白=>false
函数为空(值){
return!value | |!value.toString().trim()| |/^[\s\b\0]+$/.test(value.toString());
}
log('a=>'+isBlank(a));
log('b=>'+isBlank(b));
log('c=>'+isBlank(c));
log('d=>'+isBlank(d));
log('e=>'+isBlank(e));
log('f=>'+isBlank(f));
log('g=>'+isBlank(g));
log('h=>'+isBlank(h));
log('h=>'+isBlank(d1));

log('h=>'+isBlank(d2))
!value.trim()
如果传递了一个数字,将抛出一个错误。@gforce301这是真的,不确定是否考虑了数字,但添加了
isBlank2
以使其更灵活。谢谢@mickl我忘记了空白字符\b\f\n\r\t\v\0您能看到修改后的问题(添加了d1)吗?谢谢你的帮助@user648026我会尝试在修改后的答案中使用正则表达式