利用JS正则-验证日期时间格式是否正确
1.创建一个文本框,时间为页面加载时自动获取的系统时间
<input id="date" name="createTime" type="text" value="" size="15" οnblur="mycheck()" />
2.正则验证函数
function mycheck(){
var str=$("#date").val();
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; ---创建正则验证表达式
var r = str.match(reg); ---使用正则表达式对字符串查找,并将包含查找的结果作为数组返回
if(r==null){alert("对不起,您输入的日期格式不正确!");Stime.starttime.focus();return;}
if(r[3]<1||r[3]>12){alert("月份必须介于1和12之间,请您重新输入!");$("#date").focus();return;} ---对月份进行判定
//对日期进行判定
if(r[3]==2&&r[1]%4==0) ---闰年二月的日期的判定
{
if(r[4]<0||r[4]>29){alert(r[1]+"年2月的日期必须介于1和29之间,请您重新输入!");$("#date").focus();return;}
}
if(r[3]==2&&r[1]%4!=0) ---平年二月的日期的判定
{
if(r[4]<0||r[4]>28){alert(r[1]+"年2月的日期必须介于1和28之间,请您重新输入!");$("#date").focus();return;}
}
if(r[3]<8&&r[3]%2==0) --- 4,6月日期的判定
{
if(r[4]<0||r[4]>30){alert(r[3]+"月的日期必须介于1和30之间,请您重新输入!");$("#date").focus();return;}
}
if(r[3]<8&&r[3]%2!=0) ----1、3、5、7月日期的判定
{
if(r[4]<0||r[4]>31){alert(r[3]+"月的日期必须介于1和31之间,请您重新输入!");$("#date").focus();return;}
}
if(r[3]>=8&&r[3]%2==0) ----8、10、12月日期的判定
{
if(r[4]<0||r[4]>31){alert(r[3]+"月的日期必须介于1和31之间,请您重新输入!");$("#date").focus();return;}
}
if(r[3]>=8&&r[3]%2!=0 ----9、11月日期的判定
{
if(r[4]<0||r[4]>30){alert(r[3]+"月的日期必须介于1和30之间,请您重新输入!");$("#date").focus();return;}
}
//时间的判断
if(r[5]<0||r[5]>23){alert("小时数必须介于0和23之间,请您重新输入!");$("#date").focus();return;} ---对小时进行判断
if(r[6]<0||r[6]>59){alert("分钟数必须介于0和59之间,请您重新输入!");$("#date").focus();return;} ---对分钟进行判断
if(r[7]<0||r[7]>59){alert("秒数必须介于0和59之间,请您重新输入!");$("#date").focus();return;} ---对秒进行判断
}