js验证日期yyyy-MM-dd

 

<html> 
<head> 
<script type="text/javascript">
  //函数名:chkdate
  //功能介绍:检查是否为日期
  //参数说明:要检查的字符串
  //返回值:0:不是日期  1:是日期
  function chkdate(datestr)
  {
   var lthdatestr
   if (datestr != "")
    lthdatestr= datestr.length ;
   else
    lthdatestr=0;
    
   var tmpy="";
   var tmpm="";
   var tmpd="";
   //var datestr;
   var status;
   status=0;
   if ( lthdatestr== 0)
    return 1;
   for (i=0;i<lthdatestr;i++)
   { if (datestr.charAt(i)== '-')
    {
     status++;
    }
    if (status>2)
    {
     //alert("Invalid format of date!");
     return 0;
    }
    if ((status==0) && (datestr.charAt(i)!='-'))
    {
     tmpy=tmpy+datestr.charAt(i)
    }
    if ((status==1) && (datestr.charAt(i)!='-'))
    {
     tmpm=tmpm+datestr.charAt(i)
    }
    if ((status==2) && (datestr.charAt(i)!='-'))
    {
     tmpd=tmpd+datestr.charAt(i)
    }
   }
   year=new String (tmpy);
   month=new String (tmpm);
   day=new String (tmpd)
   //tempdate= new String (year+month+day);
   //alert(tempdate);
   if ((tmpy.length!=4) || (tmpm.length!=2) || (tmpd.length!=2))
   {
    //alert("Invalid format of date!");
    return 0;
   }
   if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
   {
    //alert ("Invalid month or day!");
    return 0;
   }
   if (!((year % 4)==0) && (month==2) && (day==29))
   {
    //alert ("This is not a leap year!");
    return 0;
   }
   if ((month<=7) && ((month % 2)==0) && (day>=31))
   {
    //alert ("This month is a small month!");
    return 0;
   
   }
   if ((month>=8) && ((month % 2)==1) && (day>=31))
   {
    //alert ("This month is a small month!");
    return 0;
   }
   if ((month==2) && (day==30))
   {
    //alert("The Febryary never has this day!");
    return 0;
   }
   
   return 1;
  }

  function checkOrderDate()
  {
   var strOrderDate;
   strOrderDate=document.getElementById('txtOrderdate').value ;
   if (chkdate(strOrderDate)==0)
   {
    alert ("Invalid order day!");
    return 0;
   }
   else
    return 1;
  }
</script>
</head> 
<body> 
日期:<input type="text" id="txtOrderdate" οnblur="return checkOrderDate();" />
</body> 
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值