js用正則表達(dá)式篩選年月日的實(shí)例方法
當(dāng)我們想要對日期進(jìn)行篩選時(shí),可以選擇使用正則表達(dá)式的檢索功能。這里涉及到正則表達(dá)式關(guān)于匹配的使用,本篇會就組匹配的基礎(chǔ)知識帶來分析和代碼展示。再學(xué)會了正則表達(dá)式的匹配方法后,就篩選日期的方法進(jìn)行過程介紹,下面一起來看看正則表達(dá)式的相關(guān)內(nèi)容吧。
1.組匹配
正則表達(dá)式的括號表示分組匹配,括號中的模式可以用來匹配分組的內(nèi)容。
/fred+/.test('fredd') // true /(fred)+/.test('fredfred') // true
上面代碼中,第一個模式?jīng)]有括號,結(jié)果+只表示重復(fù)字母d,第二個模式有括號,結(jié)果+就表示匹配fred這個詞。
正則表達(dá)式內(nèi)部,還可以用\n引用括號匹配的內(nèi)容,n是從1開始的自然數(shù),表示對應(yīng)順序的括號。
var tagName = /<([^>]+)>[^<]*<\/\1>/; tagName.exec("<b>bold</b>")[1] // 'b'
上面代碼中,圓括號匹配尖括號之中的標(biāo)簽,而\1就表示對應(yīng)的閉合標(biāo)簽。
2.匹配年月日
比如yyyy-mm-dd格式為例。
要求匹配:
2017-06-10
分析:
年,四位數(shù)字即可,可用[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正則表達(dá)式中篩選年月日的方法,相信在看完分析之后,已經(jīng)能夠理解篩選的步驟了,學(xué)會后可以就代碼部分進(jìn)行練習(xí)。
實(shí)例擴(kuò)展:
javascript正則表達(dá)式
匹配年月日格式為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月,那么就應(yīng)該顯示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
到此這篇關(guān)于js用正則表達(dá)式篩選年月日的實(shí)例方法的文章就介紹到這了,更多相關(guān)js正則表達(dá)式篩選年月日內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 盤點(diǎn)javascript 正則表達(dá)式中 中括號的【坑】
- JS使用tofixed與round處理數(shù)據(jù)四舍五入的區(qū)別
- JS處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)
- javascript中toFixed()四舍五入使用方法詳解
- js正則表達(dá)式簡單校驗(yàn)方法
- JS中toFixed()方法四舍五入的精度問題詳解
- JavaScript 正則表達(dá)式詳解
- jmeter實(shí)現(xiàn)接口關(guān)聯(lián)的兩種方式(正則表達(dá)式提取器和json提取器)
- 在nest.js中通過正則表達(dá)式正確設(shè)置驗(yàn)證的方法
- jJavaScript中toFixed()和正則表達(dá)式的坑
相關(guān)文章
小程序?qū)崿F(xiàn)列表多個批量倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)列表多個批量倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決
這篇文章主要為大家介紹了H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05BootStrap智能表單實(shí)戰(zhàn)系列(三)分塊表單配置詳解
這篇文章主要介紹了BootStrap智能表單實(shí)戰(zhàn)系列(三)分塊表單配置詳解的相關(guān)資料,非常不錯具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06純js實(shí)現(xiàn)動態(tài)時(shí)間顯示
這篇文章主要為大家詳細(xì)介紹了純js實(shí)現(xiàn)動態(tài)時(shí)間顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06使用JS代碼實(shí)現(xiàn)點(diǎn)擊按鈕下載文件
有時(shí)候我們在網(wǎng)頁上需要增加一個下載按鈕,讓用戶能夠點(diǎn)擊后下載頁面上的資料,那么怎樣才能實(shí)現(xiàn)功能呢?今天小編給大家分享兩種方法實(shí)現(xiàn)js實(shí)現(xiàn)點(diǎn)擊按鈕下載文件,需要的朋友參考下吧2016-11-11