javascript의 문자로 된 날짜 유효성검사 예)20180101
|
//문자가 날짜형이 맞는지 체크 20180101
function isDate(txtDate) {
var currVal = txtDate;
if (currVal == '')
return false;
var rxDatePattern = /^(\d{4})(\d{1,2})(\d{1,2})$/; //Declare Regex
var dtArray = currVal.match(rxDatePattern); // is format OK?
if (dtArray == null)
return false;
//Checks for yyyymmdd format.
dtYear = dtArray[1];
dtMonth = dtArray[2];
dtDay = dtArray[3];
//alert(dtArray);
//alert(dtYear);
//alert(dtMonth);
//alert(dtDay);
if (dtMonth < 1 || dtMonth > 12)
return false;
else if (dtDay < 1 || dtDay > 31)
return false;
else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31)
return false;
else if (dtMonth == 2) {
var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
if (dtDay > 29 || (dtDay == 29 && !isleap))
return false;
}
return true;
}