Javascript是前端工程師必須掌握的一門語言。在前端的開發過程中,時間驗證是非常常見的需求。開始時間、結束時間,還有時間區間的驗證在各個場景都有所用到,這時就需要用到Javascript的checktime。
checktime是Javascript中非常常用的時間校驗函數。主要可以用于校驗時間格式是否正確,還可以根據起始時間和結束時間來驗證時間區間是否符合要求。checktime函數簡單實用,可以很好地幫助我們實現時間驗證的需求。
function checktime(startTime,endTime) {
var startArr = startTime.split("-");
var endArr = endTime.split("-");
var start = new Date(startArr[0],startArr[1],startArr[2]);
var end = new Date(endArr[0],endArr[1],endArr[2]);
if(start>end)
{
return false;
}
else
{
return true;
}
}
checktime函數的參數是開始時間和結束時間,函數內部會把這兩個參數都分割成年月日三個部分,然后利用Date對象來比較這兩個時間。如果起始時間大于結束時間,則返回false,否則返回true。
下面是一個使用checktime函數來驗證時間區間的例子:
<input id="startTime" name="startTime">
<input id="endTime" name="endTime">
<button onclick="javascript:check()">驗證</button>
function check() {
var startTime = document.getElementById("startTime").value;
var endTime = document.getElementById("endTime").value;
if(checktime(startTime,endTime))
{
alert("時間區間正確!");
}
else
{
alert("時間區間有誤,請重新輸入!");
}
}
以上代碼中,我們首先定義了兩個input輸入框,分別用來輸入起始時間和結束時間。當用戶填寫完這兩個輸入框后,點擊驗證按鈕會調用check函數來驗證時間區間。如果區間正確,會彈出一個提示框告訴用戶“時間區間正確!”,否則會彈出“時間區間有誤,請重新輸入!”。
除了驗證時間區間,我們還可以使用checktime函數來驗證時間格式是否正確。下面是一個例子:
<input id="time" name="time">
<button onclick="javascript:check()">驗證</button>
function check() {
var time = document.getElementById("time").value;
if(time.match(/^\d{4}-\d{1,2}-\d{1,2}$/)&&checktime(time,time))
{
alert("時間格式正確!");
}
else
{
alert("時間格式有誤,請重新輸入!");
}
}
以上代碼中,和上一個例子類似,在一個輸入框中輸入時間后,點擊驗證按鈕來驗證該時間的格式是否正確。這里用到了正則表達式來判斷時間格式,如果格式正確且checktime函數返回true,則彈出一個提示框告訴用戶“時間格式正確!”,否則會彈出“時間格式有誤,請重新輸入!”。
通過以上兩個例子,我們不難發現,checktime函數在時間驗證方面具有很大的實用性,可以很好地滿足時間驗證的需求。