求一段验证“2010-08”这样日期格式有效性的javascript代码!

解决方案 »

  1.   

    var reg = /^\d{4}-(?:1[012]|0?[1-9])$/;
    alert(reg.test("2010-08"));
    alert(reg.test("2010-13"));
      

  2.   

    给你个方法<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <script language="javascript" src="js/jquery.js"></script>
    </head>
    <body>
    </body>
    </html>
    <script language="javascript">
    $(function(){
    alert(validateDate('2011-2-29'));
    });
    //要求为xxxx-mm-dd的格式 
    function validateDate(dateString){
    var pattern=/^\d{4}-\d{1,2}-\d{1,2}$/;
    if(!pattern.test(dateString)){
    alert("1");
    return false;
    }
       var arr=dateString.split("-");
       //月份不得大于12
       if(parseInt(arr[1])>12){
        return false;
       }
       //验证那月天数
       var month=parseInt(arr[1])+1;
       var str=arr[0]+"/"+month+"/0";
       var  date=new Date(arr[0]+"/"+month+"/0");
       var maxDays=date.getDate();
       if(arr[2]>maxDays){
        return false;
       }else{
        return true;
       }
             
    }
    </script>
      

  3.   


    <script>
    var reg = /^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/;
    alert(reg.test("2010-08-01"));
    alert(reg.test("2010-12-00"));
    </script>不过这个只能简单的验证格式 2011-2-28/29/30 这种情况是检测不出的……自己写一个完善的会很费劲,建议你试下比较成熟的框架,推荐这个,简单易用:
    http://www.my97.net/dp/index.asp