//判断闰年
(([0-9]{2}(([02468][048])|([13579][26])))(-)(2|02)(-)(([0][1-9])|([1-2][0-9])))
//判断非闰年
(([0-9]{2}(([02468][123579])|([13579][01345789])))(-)(2|02)(-)(([0][1-9])|([1][0-9])|([2][0-8])))
//判断大月完整日期
(([0-9]{4})(-)(([0]{0,1}(1|3|5|7|8))|(10|12))(-)(([0][1-9])|([1-2][0-9])|30|31))
//判断小月完整日期
(([0-9]{4})(-)(([0]{0,1}(4|6|9))|11)(-)(([0][1-9])|([1-2][0-9])|30))
组合在一起为:
var regexp = /^((([0-9]{2}(([02468][048])|([13579][26])))(-)(2|02)(-)(([0][1-9])|([1-2][0-9])))|(([0-9]{2}(([02468][123579])|([13579][01345789])))(-)(2|02)(-)(([0][1-9])|([1][0-9])|([2][0-8])))|(([0-9]{4})(-)(([0]{0,1}(1|3|5|7|8))|(10|12))(-)(([0][1-9])|([1-2][0-9])|30|31))|(([0-9]{4})(-)(([0]{0,1}(4|6|9))|11)(-)(([0][1-9])|([1-2][0-9])|30)))$/g;
函数:
//日期校验
String.prototype.IsDate=function(){
//alert("-------------日期校验");
var regexp = /^((([0-9]{2}(([02468][048])|([13579][26])))(-)(2|02)(-)(([0][1-9])|([1-2][0-9])))|(([0-9]{2}(([02468][123579])|([13579][01345789])))(-)(2|02)(-)(([0][1-9])|([1][0-9])|([2][0-8])))|(([0-9]{4})(-)(([0]{0,1}(1|3|5|7|8))|(10|12))(-)(([0][1-9])|([1-2][0-9])|30|31))|(([0-9]{4})(-)(([0]{0,1}(4|6))|11)(-)(([0][1-9])|([1-2][0-9])|30)))$/g;
return regexp.test(this);
}
//校验日期格式
if("attrId44"==id){
alert("value.IsDate():"+value.IsDate());
if(value.IsDate())
alert("这是一个正确的日期格式!");
else
alert("日期格式错误,请输入正确的日期格式!");
}