在javascript中,我们经常要对日期格式加以判断,用正则表达式是最为快捷有效的,下面是验证日期格式(YYYY-MM-DD)和日期时间格式(YYYY-MM-DD hh:mm:ss)的正则表达式.
下面验证某个字符串是否日期(时间)格式:
var _reDataTime = /^([1-9]d{3}-((0?[1-9])|(1[0-2]))-((0[1-9])|([1-2]?d)|(3[0-1])))?$/ //日期格式,可为空
var _reTimeReg = /^[1-9][0-9]{3}-(0?[1-9]|1[0|1|2])-(0?[1-9]|[1|2][0-9]|3[0|1])s(0?[1-9]|1[0-9]|2[0-3]):(0?[0-9]|[1|2|3|4|5][0-9]):(0?[0-9]|[1|2|3|4|5][0-9])$/; //日期时间格式
var _reTimeReg = /^[1-9][0-9]{3}-(0?[1-9]|1[0|1|2])-(0?[1-9]|[1|2][0-9]|3[0|1])s(0?[1-9]|1[0-9]|2[0-3]):(0?[0-9]|[1|2|3|4|5][0-9]):(0?[0-9]|[1|2|3|4|5][0-9])$/; //日期时间格式
下面验证某个字符串是否日期(时间)格式:
var sdate = "2002/01/23";
if(sdate != "" && _reDataTime.test(sdate)) //日期格式
alert("date");
else if(_reTimeReg.test(datetime.inputValue)) //日期时间格式
alert("datetime");
else
alert("not date");
if(sdate != "" && _reDataTime.test(sdate)) //日期格式
alert("date");
else if(_reTimeReg.test(datetime.inputValue)) //日期时间格式
alert("datetime");
else
alert("not date");