验证日期时的问题
^[1-2][0-9][0-9][0-9]-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[0-1])$   
 这是我写的正则代码,当我输入 "2009-03-01 "的时候可以通过,但是我输入 "2009-01-01 "的时候就报错,请问是什么问题啊?
------解决方案--------------------用你的正则代码,测试 "2009-03-01 ", "2009-01-01 "都可以通过。 
 不过你的表达式还是有问题,应该写作: 
 var a=/^[1-2][0-9][0-9][0-9]-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[0-1])$/;
------解决方案-------------------- <script type= "text/javascript ">  
 var p = /^[1-2][0-9][0-9][0-9]-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[0-1])$/; 
 alert(p.test( "2009-03-01 ") && p.test( "2009-01-01 ")); 
 //这个验证这两个没有错的说,不过推荐使用isDate方法 
 var isDate = function (a, b, c) { 
 	var a = parseInt(a), b = parseInt(b), c = parseInt(c), date = new Date(a, -- b, c); 
 	return (a == date.getFullYear() &&  b == date.getMonth() && c == date.getDate()); 
 }; 
 alert(isDate.apply(null,  "2009-03-01 ".split( "- ")) && isDate.apply(null,  "2009-02-01 ".split( "- "))); 
  </script>
------解决方案--------------------还是 muxrwc(生命曾可贵,信念价更高,学习要努力,追猫永不弃。)  的方法好!   
 学习!