您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何在JavaScript中利用正則表達式對年月日進行篩選,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1.組匹配
正則表達式的括號表示分組匹配,括號中的模式可以用來匹配分組的內容。
/fred+/.test('fredd') // true /(fred)+/.test('fredfred') // true
上面代碼中,第一個模式沒有括號,結果+只表示重復字母d,第二個模式有括號,結果+就表示匹配fred這個詞。
正則表達式內部,還可以用\n引用括號匹配的內容,n是從1開始的自然數,表示對應順序的括號。
var tagName = /<([^>]+)>[^<]*<\/\1>/; tagName.exec("<b>bold</b>")[1] // 'b'
上面代碼中,圓括號匹配尖括號之中的標簽,而\1就表示對應的閉合標簽。
比如yyyy-mm-dd格式為例。
要求匹配:
2017-06-10
分析:
年,四位數字即可,可用[0-9]{4}。
月,共12個月,分兩種情況01、02、……、09和10、11、12,可用(0[1-9]|1[0-2])。
日,最大31天,可用(0[1-9]|[12][0-9]|3[01])。
正則如下:
var regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/; console.log( regex.test("2017-06-10") ); // => true
以上就是js正則表達式中篩選年月日的方法,相信在看完分析之后,已經能夠理解篩選的步驟了,學會后可以就代碼部分進行練習。
實例擴展:
javascript正則表達式
匹配年月日格式為yyyymmdd
年必須是19或者20開頭的。
function test(str) { var reg=/^((19|20)[0-9]{2})((0[1-9])|(1[0-2]))((0[1-9])|((1|2)[0-9])|(3[0-1]))$/; if(reg.test(str)){ alert('正確'); } else{ alert('error'); } }
分為三個步驟
先看年
((19|20)[0-9]{2})
必須是19或者20開頭作為一部分,后面兩個就取0-9中取兩次。
再看月((0[1-9])|(1[0-2]))
如果是1-9月,那么就應該顯示01-09
如果第一位是0,第二位就取1-9,如果第一位是1,第二位就取0-2
在看日期
((0[1-9])|((1|2)[0-9])|(3[0-1]))
如果第一位取0,第二位就可以取1-9
如果第一位取1-2,第二位就可以取0-9
如果第一位取3,第二位就可以取0-1
上述就是小編為大家分享的如何在JavaScript中利用正則表達式對年月日進行篩選了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。