这个最好不要全依赖正则
<script language=javascript>
function checkDate(obj)//判断日期格式是不是符合
{
var strDate=obj.value;
re=/\d{4}([\-\/])\d{2}\1\d{2}/g
if(re.test(strDate))//判断日期格式符合YYYY-MM-DD标准
{
var str=RegExp.$1;
var DateArray=strDate.split(str);
var dateElement=new Date(DateArray[0],parseInt(DateArray[1])-1,DateArray[2]);
if(!((dateElement.getFullYear()==parseInt(DateArray[0]))&&((dateElement.getMonth()+1)==parseInt(DateArray[1]))&&(dateElement.getDate()==parseInt(DateArray[2]))))//判断日期逻辑
{
alert("不符合时间逻辑")
obj.value='';
}
}
else
{
alert("格式输入错误")
obj.value='';
}
}
</script>
<input name=haha onblur=checkDate(this)>