본문으로 바로가기

[내가 자주 쓰는 함수 모음] 연결 DOM 추가, URI 파서, 날짜 포맷 변환

category JS/JavaScript 2017. 3. 7. 15:03

/*

* Jquery 필요

/

(function ($) {

    /*

    * linked dom 추가

    * @param YYYYMMddHHmmss

    */

    //Date Format Extend

    $.fn.appendR = function (toAppend) {

        var $toAppend = $(toAppend);

        this.append($toAppend);

        return $toAppend;

    };

    /*

    * URI 파서

    * @param YYYYMMddHHmmss

    */

    //Date Format Extend

 

    var re = /([^&=]+)=?([^&]*)/g;

    var decodeRE = /\+/g;

    var decode = function (str) { return decodeURIComponent(str.replace(decodeRE, " ")); };

    $.parseParams = function (query) {

        var params = {}, e;

        while (e = re.exec(query)) {

            var k = decode(e[1]), v = decode(e[2]);

            if (k.substring(k.length - 2) === '[]') {

                k = k.substring(0, k.length - 2);

                (params[k] || (params[k] = [])).push(v);

            }

            else params[k] = v;

        }

        return params;

    };

 

    /*

    * 날짜 변환 함수

    * @param YYYYMMddHHmmss

    */

    //Date Format Extend

    $.fn.DateToFormat = function (oDate, f) {

        if (!oDate.valueOf()) return " ";

        var d = oDate;

        var StringToFormat = function (str, len) {

            var s = '', i = 0;

            while (i++ < len) {

                s += str;

            }

            return s;

        }

 

        var StringTozf = function (str, len) {

            return StringToFormat("0", len - str.length) + str;

        }

        var NumberTozf = function (num, len) {

            return StringTozf(num.toString(), len);

        }

 

        return f.replace(/(yyyy|YYYY|mm|MM|dd|DD)/gi, function ($1) {

            switch ($1) {

                case "yyyy": case "YYYY": return d.getFullYear();

                case "mm": case "MM": return NumberTozf(d.getMonth() + 1, 2);

                case "dd": case "DD": return NumberTozf(d.getDate(), 2);

                default: return $1;

            }

        });

    }

})(jQuery);


댓글을 달아 주세요