//格式YYYY-m-d,
function checkdate(dateStr)
{
var dateReg=new RegExp("^[0-9]{4}([-][0-9]{1,2}){2}$");
if(!dateReg.test(dateStr)) return false;
var arr=dateStr.split("-");
if(parseInt(arr[1],10)>12||parseInt(arr[1],10)<1) return false;
var year=parseInt(arr[0],10);
var daysArr=[0,31,28,31,30,31,30,31,31,30,31,30,31];
if(year>3000||year<1900) return false;
if((year%4==0&&year%100!=0)||year%400==0) daysArr[2]=29;
if(parseInt(arr[2],10)>daysArr[parseInt(arr[1],10)]||parseInt(arr[2],10)<1)
return false;
return true;
}
至于错误自己定义