在項目中,我們經常會遇到時間問題,有時候是使用時間插件,讓用戶選擇,但有時應客戶要求,能夠自行輸入時間,那么,我們如何來確定用戶輸入的時間格式是否正確,輸入的時間是否合法呢?
這個時候需要用到正則表達式,接下來,簡單講解我的驗證實例,以驗證時間格式2017-01-01格式為例:
1.首先,我們需要獲得用戶輸入的內容;
2.其次,我們需要驗證用戶輸入的內容是否為2017-01-01格式;
3.然后,驗證格式正確后,需要驗證輸入的時間是否合法;
4.如果用戶輸入的是正確的,合法的時間格式,那么返回輸入框中的內容,否則提示用戶重新輸入。
以下給出具體驗證過程,可供參考:
1.獲取用戶輸入的時間:
var bagin = $('.input_one').val();
2.驗證時間格式是否正確:(驗證通過返回時間戳格式,例如:(2017-01-01,2017,-,01,-,01),否則返回null)
var bagin_r = bagin.match(/^(\d{4})(-)(\d{2})(-)(\d{2})$/); if(bagin_r==null){ alert("請輸入正確的開始時間格式,如:2017-01-01"); return false; }
3.驗證時間是否合法:(注意:此段必須放置在驗證時間格式完成之后)
var b_d=new Date(bagin_r[1],bagin_r[3]-1,bagin_r[5]); var b_num = (b_d.getFullYear()==bagin_r[1]&&(b_d.getMonth()+1)==bagin_r[3]&&b_d.getDate()==bagin_r[5]); if(b_num==0){ alert("開始時間不合法,請輸入正確的開始時間"); return false; }
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com