前台利用正则表达式匹配字符串,验证日期形式的字符串是否合法
var reg = /^(\d{4})-(\d{2})-(\d{2})$/; //日期yyyymmdd格式验证
var reg1 = /^(\d{4})-(\d{2})-(\d{2}) (([0-1]?\d)|(2[0-4]))$/; //日期yyyymmdd h/hh验证
if(reg.test(batchStrArr[2])){
//验证日期是否合法
bagin_r = batchStrArr[2].match(reg);
b_d=new Date(bagin_r[1],bagin_r[2]-1,bagin_r[3]);
b_num =(b_d.getFullYear()==bagin_r[1]&&b_d.getMonth()+1)==bagin_r[2]&&b_d.getDate()==bagin_r[3]);
}else if(reg1.test(batchStrArr[2])){
bagin_r = batchStrArr[2].match(reg1);
b_d=new Date(bagin_r[1],(bagin_r[2]-1),bagin_r[3],bagin_r[4]);
b_num = (b_d.getFullYear()==bagin_r[1]&&(b_d.getMonth()+1)==bagin_r[2]&&b_d.getDate()==bagin_r[3]&&b_d.getHours()==bagin_r[4]);
}
if(b_num==0){
showMsg("第"+line+"行时间不合法,请填写正确的时间格式!",3000,0);
return;
}
以上,验证了yyyymmdd格式验证、yyyymmdd h/hh验证两个日期格式
若有不足,欢迎评论区留言~