//判断输入的日期是否正确 function CheckDate(INDate) { if (INDate=="") { return true; } subYY=INDate.substr(0,4) if(isNaN(subYY) || subYY<=0) { return true; } //转换月份 if(INDate.indexOf('-',0)!=-1) { separate="-" } else { if(INDate.indexOf('/',0)!=-1) { separate="/" } else { return true; } } area=INDate.indexOf(separate,0) subMM=INDate.substr(area+1,INDate.indexOf(separate,area+1)-(area+1)) if(isNaN(subMM) || subMM<=0) { return true; } if(subMM.length<2) { subMM="0"+subMM } //转换日 area=INDate.lastIndexOf(separate) subDD=INDate.substr(area+1,INDate.length-area-1) if(isNaN(subDD) || subDD<=0) { return true; } if(eval(subDD)<10) { subDD="0"+eval(subDD) } NewDate=subYY+"-"+subMM+"-"+subDD if(NewDate.length!=10) { return true; } if(NewDate.substr(4,1)!="-") { return true; } if(NewDate.substr(7,1)!="-") { return true; } var MM=NewDate.substr(5,2); var DD=NewDate.substr(8,2); //判断是否为闰年 if((subYY%4==0 && subYY%100!=0)||subYY%400==0) { if(parseInt(MM)==2) { if(DD>29) { return true; } } } else { if(parseInt(MM)==2) { if(DD>28) { return true; } } } var mm=new Array(1,3,5,7,0,10,12); //判断每月中的最大天数 if(In_array(parseInt(MM),mm)) { if(parseInt(DD)>31) { return true; } } else { if(parseInt(DD)>30) { return true; } } if(parseInt(MM)>12) { return true; } return false; } //判断某个数是否在数组里面 function In_array(needle, haystack) { var type = typeof needle; // 得到needle的类型 if(type == 'string' || type =='number') { for(var i in haystack) { if(haystack[i] == needle) { return true; } } } return false; }