public
Last active

Checks whether the given string (or object) is blank

  • Download Gist
jquery.is_blank.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14
(function($){
$.isBlank = function(string){
return(!string || $.trim(string) === "");
};
})(jQuery);
 
$.isBlank(" ") //true
$.isBlank("") //true
$.isBlank("\n") //true
$.isBlank("a") //false
 
$.isBlank(null) //true
$.isBlank(undefined) //true
$.isBlank([]) //true

$.isBlank([]) // throws an excption

It appears that you are having unexpected behavior from .

    $.isBlank = function(object) {
        return (
            ($.isPlainObject(object) && $.isEmptyObject(object)) ||
            ($.isArray(object) && object.length == 0) ||
            (typeof(object) == "string" && $.trim(object) === "") ||
            (!object)
        );
    };

This fixes the issue with empty array, and added empty hashes.

jQuery.isBlank = function (obj) {
    if (!obj || $.trim(obj) === "") return true;
    if (obj.length && obj.length > 0) return false;

    for (var prop in obj) if (obj[prop]) return false;
    return true;
};
console.log(
    $.isBlank(0), // true
    $.isBlank(""), // true
    $.isBlank(null), // true
    $.isBlank(false), // true
    $.isBlank(undefined), // true

    $.isBlank([]), // true
    $.isBlank([null]), // true
    $.isBlank([undefined]), // true

    $.isBlank({}), // true
    $.isBlank({foo: 0}), // true
    $.isBlank({foo: null}), // true
    $.isBlank({foo: false}), // true
    $.isBlank({foo: undefined}), // true

    $.isBlank("Hello"), // false
    $.isBlank([1,2,3]), // false
    $.isBlank({foo: 1}), // false
    $.isBlank({foo: 3, bar: [1,2,3]}), // false

    "incorrect:",
    $.isBlank(1), // true
    $.isBlank(true), // true

    $.isBlank([0]), // false
    $.isBlank([false]), // false
    $.isBlank("0"), // false
    $.isBlank(["0"]), // false
    $.isBlank({foo: "0"}) // false
);

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.