Javascript Date validation and comparation function.
function isdate(strDate) {
var strSeparator = "/";
var strDateArray = strDate.split(strSeparator);
if(strDateArray.length!=3) {
return false;
}
var intYear = strDateArray[2];
var intMonth = strDateArray[0];
var intDay = strDateArray[1];
var boolLeapYear;
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) {
return false;
}
if(intMonth>12||intMonth<1) {
return false;
}
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) {
return false;
}
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) {
return false;
}
if(intMonth==2){
if(intDay<1) {
return false;
}
boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
} else {
if((intYear%4)==0) boolLeapYear = true;
}
if(boolLeapYear){
if(intDay>29) return false;
} else {
if(intDay>28) return false;
}
}
return true;
}
function CompareDate(year, month, day){
var currentDate = new Date();
if(currentDate.getFullYear() > year) {
return -1;
} else if(currentDate.getFullYear() < year) {
return 1;
}
if(currentDate.getMonth() + 1 > month) {
return -1;
}else if(currentDate.getMonth() + 1 < month) {
return 1;
}
if(currentDate.getDate() > day) {
return -1;
} else if(currentDate.getDate() < day) {
return 1;
}
return 0;
}