Javascript中,匹配時間格式的方法是十分常見的。常見的時間格式有很多種,比如‘YYYY-MM-DD HH:mm:ss’,‘MM/DD/YYYY’等等。具體匹配方法可以使用正則表達式,通過正則表達式來匹配不同格式的時間。
//匹配‘YYYY-MM-DD HH:mm:ss’格式的時間 var reg = /^((\d{2}(([02468][048])|([13579][26]))\-\d{2}\-\d{2}(\-\d{1})?)|(\d{2}[A-Za-z]{3}\ \d{2}\:\d{2}\:\d{2}\.\d{3}))$/; //匹配‘MM/DD/YYYY’格式的時間 var reg2 = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
舉例說明,假如我們要判斷一個字符串是否為‘YYYY-MM-DD HH:mm:ss’格式的時間:
var time = '2020-05-05 15:30:00'; var reg3 = /^((\d{2}(([02468][048])|([13579][26]))\-\d{2}\-\d{2}(\-\d{1})?)|(\d{2}[A-Za-z]{3}\s\d{2}\:\d{2}\:\d{2}\.\d{3}))$/; if(reg3.test(time)){ console.log('匹配成功'); }else{ console.log('匹配失敗'); }
如果要匹配的時間格式比較簡單,也可以使用其他方法來實現。比如我們要匹配一個字符串是否為‘YYYY-MM-DD’格式的時間,可以直接使用Date對象將其轉換成日期對象,如果轉換后的日期和原始的日期相同,則說明該字符串為‘YYYY-MM-DD’格式的時間:
var time2 = '2020-05-05'; var date = new Date(time2.replace(/-/g,"\/")); var dateFormat = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); if(dateFormat === time2){ console.log('匹配成功'); }else{ console.log('匹配失敗'); }
總之,使用Javascript匹配時間格式是常見的操作,可以通過正則表達式或者將字符串轉換成日期對象的方式來實現。具體實現方式需要根據匹配的時間格式進行選擇。