首先回忆一下正则的常用符号 ^标识字符串头 $表示字符串尾 [ ]表示可以出现的范围:如[1-3]匹配1或2或3 |或符号 ?出现1次或不出现
用到验证yyyy-mm–dd日期格式的小伙伴可以用这个正则
function checkDate()
{
var date = “1791-09-30”;
var result = date.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])
)|(((1[8−9]\d2)|([2−9]\d3))(−)(11|0?[469])(−)(30|[12][0−9]|0?[1−9])
)|
(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])
)|(([2468][048]00)(−)(0?2)(−)(29)
)|
(^([3579][26]00)(-)(0?2)(-)(29)
)|(([1][89][0][48])(−)(0?2)(−)(29)
)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)
)|(([1][89][2468][048])(−)(0?2)(−)(29)
)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)
)|(([1][89][13579][26])(−)(0?2)(−)(29)
)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);
if(result==null)
{
alert(“请输入正确的日期格式”);
return false;
}else{
alert(“日期正确”);
return date;
}
}
下面这个用于24:00:00时间的验证
function checkTime(){
var time=”12:32:56”
var reg=/^([0-1][1-9]:[0-5]\d:[0-5]\d)|(2[0-4]:[0-5]\d:[0-5]\d)$/;
var result=time.match(reg);
if(result==null){
alert(“时间格式错误”);
}else{
alert(“时间正确”);
}
}
下面这个用于判断两个日期相差几天
function checkmisday(){ //日期差几天
var d1=Date.parse(“2000/09/25”);
var d2=Date.parse(“2000/09/26”);
var c=d2-d1;
return c.toFixed(2)/(24*60*60*1000);
}