날짜 유효성 검사
/*****
* 날짜 유효성 검사
* return : boolean
*****/
function check_date(year,month,day){
if(
year.length == 4 &&
month.length > 0 &&
month.length < 3 &&
day.length > 0 &&
day.length < 3
){
month = month-1; // month - 1 한 의미에 주의
if(month.length == 1) month = '0' + month.toString();
if(day.length == 1) day = '0' + day.toString();
vDate = new Date(year,month,day);
//vDate = new Date();
//vDate.setFullYear(year);
//if(month == "01") vDate.setDate(day); // 월보다 일을 먼저 한 의미를 잊지말것 (ex 2월을 지정하면 30일로 먼저 셋팅이되서 바로 오류가된다)
//vDate.setMonth(month);
if(month != "01") vDate.setDate(day);
if(
vDate.getFullYear() != year ||
vDate.getMonth() != month ||
vDate.getDate() != day
){
return false;
}else{
return true;
}
}else{
return false;
}
}
2월일때는 날짜를 먼저 그 외에는 달을 먼저해야 하는듯 싶다.
예를 들어서 3월 31일의 경우 일을 먼저 하면 날짜의 결과가 3월 2일로 나온다.
원인은 좀더 공부해 봐야겠다..
===============================================
vDate.setFullYear(year); 와 같은 형식으로 날짜를 지정해줘도 기본은 개인 PC 의 시스템 날짜를 따른다... 주의하자