Skip to content

javascript 날짜 유효성 검사

javascript date 객체는 쓰기 편하고 해서 좋긴한데 너무 관대하다 보니 잘못된 format이 들어오는 경우

13/01/2010 -> 01/01/2011로 변환시켜 버리는 황당한 처리를 해줍니다.

그러다 보니 날짜 validation을 제대로 해주지 않으면 안되는 상황이 종종 생겨 날짜가 진짜 유효한건지 체크하는 로직이 필요해 기록해 둡니다.


구글링 : javascript date validation

원문 : http://www.jsmadeeasy.com/javascripts/Forms/Date%20Validation/template.htm


// dateString : 07/07/2010, return true 
// dateString : 13/01/2010, return false
function checkdateformat(dateString){
    var dateStr = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
    
    var matchArray = dateStr.exec(dateString); // is the format ok?
    if (matchArray == null) {
        return false;
    }
    
    var month = matchArray[1]; // parse date into variables
    var day = matchArray[3];
    var year = matchArray[4];

    if (month < 1 || month > 12) { // check month range
        return false;
    }
    if (day < 1 || day > 31) {
        return false;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        return false;
    }
    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));

        if (day>29 || (day==29 && !isleap)) {        
            return false;
        }
    }
    return true;
}




Share
이 글과 관련된 글
  1. [2011/10/23] jquery로 ajax호출시 로딩이미지 보여주기 by 날파리 (1165)
  2. [2011/10/06] javascript에서 replaceAll을 써보자 by 날파리 (387)
  3. [2011/05/27] 20110330_array of Array _ javascript _ event by Gear (539)
  4. [2011/05/27] 20110329_Lists _ table _ form_tag _ javascript _ variables _ Operator _ 제어문 _ Array by Gear (676)
  5. [2011/05/11] NSDate / NSDateFormatter by Snail (2154)
Tag :

Leave Comments

T-NAVI