JS 判断输入的日期是否正确

//判断输入的日期是否正确 返回true false 返回true 为不合法 false 为合法
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,8,10,12); //判断每月中的最大天数
 var flag = false;
 for(i=0;i<mm.length;i++){
    if(parseInt(MM,10) == mm[i]){flag = true;}
 }
 if (flag == true){
    if(parseInt(DD)>31){return true;}
 }else{
    if(parseInt(DD)>30){return true;}
 }

 if(parseInt(MM)>12){return true;}
   return false;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值