利用JS正則-驗證日期時間格式是否正確
1.建立一個文字框,時間為頁面載入時自動擷取的系統時間
<input id="date" name="createTime" type="text" value="" size="15" onblur="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); ---使用Regex對字串尋找,並將包含尋找的結果作為數組返回
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;} ---對秒進行判斷
}