日期:2014-05-16  浏览次数:20324 次

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;