JavaScript 함수 모음

isDateFormat( yyyymmdd )

숫자형 날짜 포맷을 확인하는 함수.

파라미터는 문자타입으로 ( "20190614" ) 받는다.

아래 링크의 답변을 참고하여 수정

 https://stackoverflow.com/questions/6177975/how-to-validate-date-with-format-mm-dd-yyyy-in-javascript

function isDateFormat(val) {
    var regex_date = /^\d{4}\d{1,2}\d{1,2}$/;
    // Check the pattern
    if (!regex_date.test(val)) {
        return false;
    }
    var year = val[0] + val[1] + val[2] + val[3];
    var month = val[4] + val[5];
    var day = val[6] + val[7];
    var monthLength = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
    // Check the ranges of month and year
    if (year < 1000 || year > 3000 || month == 0 || month > 12) {
        return false;
    }
    // Adjust for leap years
    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {
        monthLength[1] = 29;
    }
    // Check the range of the day
    return day > 0 && day <= monthLength[month - 1];
}

 

댓글

댓글 본문