参考资料: http://zhidao.baidu.com/question/125006373.html
正则表达式偶不太会 给你这个参考参考 欧文一直都用这个的 嘻嘻function CheckDate(strDate){
//var strDate = document.getElementById("date_hour").value
var reg=/^(\d{4})(\d{2})(\d{2})$/
if(!reg.test(strDate)){
alert("日期格式不正确!\n正确格式为:20040101")
return false
}
//var ss=strDate.split("/")
//var year=ss[0]
//var month=ss[1]
//var date=ss[2]
var year=strDate.substring(0,4)
var month=strDate.substring(4,6)
var date=strDate.substring(6,8)
//alert(year+month+date)
if(!checkYear(year)){return false}
if(!checkMonth(month)){return false}
if(!checkDate(year,month,date)){return false}
return true
}
function checkYear(year){
if(isNaN(parseInt(year))){
alert("年份输入有误,请重新输入!")
return false
}
else if(parseInt(year)<1950 || parseInt(year) >2050)
{
alert("年份应该在1950-2050之间!")
return false
}
else return true
}
function checkMonth(month){
if(isNaN(parseInt(month,10))){alert("月份输入有误,请重新输入!")return false}
else if(parseInt(month,10)<1 || parseInt(month,10) >12)
{ alert("月份应该在1-12之间!")
return false}
else return true
}
function checkDate(year,month,date){
var daysOfMonth=CalDays(parseInt(year),parseInt(month))
if(isNaN(parseInt(date))){alert("日期输入有误,请重新输入!")return false}
else if(parseInt(date)<1||parseInt(date)>daysOfMonth){ alert("日期应该在1-"+daysOfMonth+"之间!")return false}
else return true
}
function CalDays(year,month){
var date= new Date(year,month,0)
return date.getDate()
}
function isLeapYear(year){
if((year %4==0 &&year %100!=0) || (year %400==0)) return true
else return false
}