js用正則表達(dá)式篩選年月日的實(shí)例方法
當(dāng)我們想要對(duì)日期進(jìn)行篩選時(shí),可以選擇使用正則表達(dá)式的檢索功能。這里涉及到正則表達(dá)式關(guān)于匹配的使用,本篇會(huì)就組匹配的基礎(chǔ)知識(shí)帶來分析和代碼展示。再學(xué)會(huì)了正則表達(dá)式的匹配方法后,就篩選日期的方法進(jìn)行過程介紹,下面一起來看看正則表達(dá)式的相關(guān)內(nèi)容吧。
1.組匹配
正則表達(dá)式的括號(hào)表示分組匹配,括號(hào)中的模式可以用來匹配分組的內(nèi)容。
/fred+/.test('fredd') // true
/(fred)+/.test('fredfred') // true
上面代碼中,第一個(gè)模式?jīng)]有括號(hào),結(jié)果+只表示重復(fù)字母d,第二個(gè)模式有括號(hào),結(jié)果+就表示匹配fred這個(gè)詞。
正則表達(dá)式內(nèi)部,還可以用\n引用括號(hào)匹配的內(nèi)容,n是從1開始的自然數(shù),表示對(duì)應(yīng)順序的括號(hào)。
var tagName = /<([^>]+)>[^<]*<\/\1>/;
tagName.exec("<b>bold</b>")[1]
// 'b'
上面代碼中,圓括號(hào)匹配尖括號(hào)之中的標(biāo)簽,而\1就表示對(duì)應(yīng)的閉合標(biāo)簽。
2.匹配年月日
比如yyyy-mm-dd格式為例。
要求匹配:
2017-06-10
分析:
年,四位數(shù)字即可,可用[0-9]{4}。
月,共12個(gè)月,分兩種情況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é)會(huì)后可以就代碼部分進(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');
}
}
分為三個(gè)步驟
- 先看年
((19|20)[0-9]{2})
必須是19或者20開頭作為一部分,后面兩個(gè)就取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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 盤點(diǎn)javascript 正則表達(dá)式中 中括號(hào)的【坑】
- JS使用tofixed與round處理數(shù)據(jù)四舍五入的區(qū)別
- JS處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)
- javascript中toFixed()四舍五入使用方法詳解
- js正則表達(dá)式簡(jiǎn)單校驗(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)文章
javascript高級(jí)模塊化require.js的具體使用方法
本篇文章主要介紹了javascript高級(jí)模塊化require.js的具體使用方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10
js中document.getElementById(id)的具體用法
本文主要介紹了js中document.getElementById(id)的具體用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
微信小程序之?dāng)?shù)據(jù)緩存的實(shí)例詳解
這篇文章主要介紹了微信小程序之?dāng)?shù)據(jù)緩存的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09
JS使用jsBarcode生成條形碼(一維碼)簡(jiǎn)單實(shí)例
JsBarcode是一個(gè)用JavaScript編寫的條形碼生成器,它支持多種條形碼格式,可在瀏覽器和Node.js中使用,下面這篇文章主要給大家介紹了關(guān)于JS使用jsBarcode生成條形碼(一維碼)的相關(guān)資料,需要的朋友可以參考下2023-03-03
JS中產(chǎn)生20位隨機(jī)數(shù)以0-9為例也可以是a-z A-Z
本節(jié)主要介紹了JS如何產(chǎn)生隨機(jī)數(shù),本例產(chǎn)生20位隨機(jī)數(shù)以0-9為例也可以是a-z A-Z,需要的朋友可以參考下2014-08-08
JavaScript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊導(dǎo)航欄變色特效
本文給大家分享一段基于js代碼實(shí)現(xiàn)的鼠標(biāo)點(diǎn)擊導(dǎo)航欄變色效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下2017-02-02
微信小程序?qū)崿F(xiàn)點(diǎn)擊按鈕后修改顏色
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)點(diǎn)擊按鈕后修改顏色,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
JS實(shí)現(xiàn)的透明度漸變動(dòng)畫效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的透明度漸變動(dòng)畫效果,涉及javascript響應(yīng)鼠標(biāo)事件針對(duì)頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
js實(shí)現(xiàn)目錄鏈接,內(nèi)容跟著目錄滾動(dòng)顯示的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)目錄鏈接,內(nèi)容跟著目錄滾動(dòng)顯示的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10

