function isDate(obj)
{
var a = obj.value.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2})$/); 
if (a == null)
{
return false;
}
if ( a[2]>=13 || a[3]>=32 || a[4]>=24)
{
return false;
}
else
{
return true;

}

解决方案 »

  1.   

    给你正则吧
    2008-05-06 
    2008-05-6 
    2008-5-06 
    2008-5-6 var a=/^(\d{4}\-(0?\d{1})\-(0?d{1}))$/g;
    下面和楼上一样
      

  2.   


    <script type="text/javascript">
    function   validDateFormat(dateStr){  
      if(dateStr.length==0)  
      return   false   ;  
      var   reg   =   /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/  
      var   arr   =   reg.exec(dateStr);  
      if   (arr   ==   null)    
      return   false;  
      var   date   =   new   Date(arr[1],arr[3]-1,arr[4]);  
      return   date.getFullYear()==arr[1]   &&   date.getMonth()==(arr[3]-1)   &&   date.getDate()==arr[4];  
       
      }
    alert(validDateFormat("2008-02-30"))
    alert(validDateFormat("2008-3-1"))
    alert(validDateFormat("2008-3-01"))
    </script>
    网上的  支持2008-3-01 ,2008/3/01
    如果只支持2008-3-01
      var   reg   =   /^(\d{4})(-)(\d{1,2})\2(\d{1,2})$/ 
      

  3.   

    @mingxuan3000  
    var   reg   =   /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/  
    上面的正则 (\d{1,2})\2(\d{1,2})$/  中\2是什么意思
      

  4.   

    var a=/^(\d{4}\-(0?\d{1})\-(0?d{1}))$/g;