애매한 잡학사전

자바스크립트 input 날짜 형태 변환하기 본문

DEV/자바스크립트

자바스크립트 input 날짜 형태 변환하기

거대한 개발자 2017. 8. 30. 08:58
반응형

검색 form 이나 입력 form에 달력으로 날짜를 선택할때 하이픈(-)이 포함되어 있는 경우가 많은데


DB에 입력할때는 하이픈(-)을 제거해야 하는 경우가 있어서 날짜 형태를 변경하는 함수를 만들었습니다.


YYYY-MM-DD 형태를 YYYYMMDD 형태로 변경하고, 다시 YYYYMMDD 형태를 YYYY-MM-DD 형태로 변경하는 함수 입니다.


- YYYY-MM-DD 변환

    /**

     * YYYY-MM-DD 형태의 문자를 YYYYMMDD 형태로 변환

     * @param argDate

     * @returns {XML|string}

     */

    fncDateToStr : function(argDate){

        var tmp = '';

        if(argDate !== undefined){

            var regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi;

            tmp = String(argDate).replace(/(^\s*)|(\s*$)/gi, '').replace(regExp, ''); // 공백 및 특수문자 제거

        }

        return tmp;

    }


- YYYYMMDD 형태 변환

    /**

     * YYYYMMDD 형태의 문자를 YYYY-MM-DD 형태로 변환

     * @param argStr : 변환할 데이터

     * @returns 변환된 데이터

     */

    fncStrToDate : function(argStr){

        var retVal;

        if(argStr !== undefined && String(argStr) !== ''){

            var regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi;

            var tmp = String(argStr).replace(/(^\s*)|(\s*$)/gi, '').replace(regExp, ''); // 공백 및 특수문자 제거

            if(tmp.length <= 4){

                retVal = tmp;

            } else if(tmp.length > 4 && tmp.length <= 6){

                retVal = tmp.substr(0, 4) + '-' + tmp.substr(4, 2);

            } else if(tmp.length > 6 && tmp.length <= 8){

                retVal = tmp.substr(0, 4) + '-' + tmp.substr(4, 2) + '-' + tmp.substr(6, 2);

            } else {

                alert('날짜 형식이 잘못되었습니다.\n입력된 데이터:'+tmp);

                retVal = '';

            }

        }

        return retVal;

    }

Comments