有严整日期格式的函数也行。谢谢。
Javascript/vbscript

解决方案 »

  1.   

    我的水平有限,正则表达式最多就是这样了,但是似乎无法判断大小月和闰年2月问题。
    /\d\d\d\d\/[0-1]\d\/[0-3]\d/恐怕还要自己写一个函数判断闰年和大小月。这个就很简单哦。我不写代码了。
      

  2.   

    http://expert.csdn.net/Expert/topic/655/655184.xml?temp=.797497
      

  3.   

    刚才错了,应该是:/\d{4}\/[0-1]\d\/[0-3]\d/
      

  4.   

    http://expert.csdn.net/Expert/topicview.asp?id=1088786
      

  5.   

    我写过一个可以根据指定的日期格式判别日期是否正确的:function  getDateByMask(s,m){  
    if (s.length!=m.length){
    return false;
    }
    try{
    m=m.replace(/Y/g,"y").replace(/D/g,"d");
    if (m.indexOf("yyyy")>-1) 
    return  new  Date(
    s.substr(m.indexOf("yyyy"),4),
    s.substr(m.indexOf("MM"),2)-1,
    s.substr(m.indexOf("dd"),2)
    )
    else return  new  Date(
    s.substr(m.indexOf("yy"),2),
    s.substr(m.indexOf("MM"),2)-1,
    s.substr(m.indexOf("dd"),2)
    )
    }
    catch (e)
    {
    return null;
    }
    }
    /*
    test:
    alert(getDateByMask("2002/02/01","yyyy/MM/dd"))
    alert(getDateByMask("02/02/01","yy/MM/dd"))
    */function  checkDateByMask(s,m){
    if (s.length!=m.length){
    return false;
    }
    try{
    var d = getDateByMask(s,m)
    m=m.replace(/Y/g,"y").replace(/D/g,"d");
    if (m.indexOf("yyyy")>-1) 
    return  (
    d.getFullYear() == s.substr(m.indexOf("yyyy"),4)
    && d.getMonth() == s.substr(m.indexOf("MM"),2)-1
    && d.getDate() == s.substr(m.indexOf("dd"),2)
    )
    else return  (
    d.getYear() == s.substr(m.indexOf("yy"),2)
    && d.getMonth() == s.substr(m.indexOf("MM"),2)-1
    && d.getDate() == s.substr(m.indexOf("dd"),2)
    )
    }
    catch (e)
    {
    return false;
    }
    }
    /*
    test:
    alert(checkDateByMask("2002/02/01","yyyy/MM/dd"))
    alert(checkDateByMask("02/02/01","yy/MM/dd"))
    alert(checkDateByMask("2002/13/01","yyyy/MM/dd"))
    alert(checkDateByMask("02/02/30","yy/MM/dd"))
    */
      

  6.   

    function myGo(theForm)
    {
      var iApplydate = theForm.Applydate.value;
      if(iApplydate.length == 0)
        {
            alert("请填写登记日期 !\n如:2002-03-01");
            return false;
        }
        if (iApplydate.length > 10)
        {
          alert("请正确填写登记日期!\n如:2002-03-01");
          return false;
        }
        for(var j=0;j<iApplydate.length;j++)
        {
          if(iApplydate.charAt(j) == '-')
                jCount++;
          if ((iApplydate.charAt(j) < '0' || iApplydate.charAt(j) >'9' ) && iApplydate.charAt(j) != '-')
          {
            alert("请正确填写登记日期!\n如:2002-03-01");
            return false;
          }
        }
        if(iApplydate.charAt(0) == '-' || iApplydate.charAt(iApplydate.length-1) == '-' || jCount != 2)
        {
            alert("请正确填写登记日期!\n如:2002-03-01");
            return false;
        }    return true;
    }//-->
    </script>