반응형
JavaScript로 input 입력값에 대한 생년월일 유효성 검사하기
1. 입력값 : YYYYMMDD
2. return 값: true / false
3. 2월 29일(윤년) 체크
function isBirthday(dateStr) {
var year = Number(dateStr.substr(0,4)); // 입력한 값의 0~4자리까지 (연)
var month = Number(dateStr.substr(4,2)); // 입력한 값의 4번째 자리부터 2자리 숫자 (월)
var day = Number(dateStr.substr(6,2)); // 입력한 값 6번째 자리부터 2자리 숫자 (일)
var today = new Date(); // 날짜 변수 선언
var yearNow = today.getFullYear(); // 올해 연도 가져옴
if (dateStr.length <=8) {
// 연도의 경우 1900 보다 작거나 yearNow 보다 크다면 false를 반환합니다.
if (1900 > year || year > yearNow){
return false;
} else if (month < 1 || month > 12) {
return false;
} else if (day < 1 || day > 31) {
return false;
} else if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
} else if (month == 2) {
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
return false;
} else {
return true;
} //end of if (day>29 || (day==29 && !isleap))
} else {
return true;
}//end of if
}
else {
//1.입력된 생년월일이 8자 초과할때 : auth:false
return false;
}
}
2019/10/23 - [유용한 활용팁] - JavaScript Input 날짜 체크, Date 만들기 - isDate, getDate, calcDate
반응형