溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在JavaScript中利用正則表達(dá)式對年月日進(jìn)行篩選

發(fā)布時間:2021-01-04 16:19:52 來源:億速云 閱讀:292 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在JavaScript中利用正則表達(dá)式對年月日進(jìn)行篩選,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

上述就是小編為大家分享的如何在JavaScript中利用正則表達(dá)式對年月日進(jìn)行篩選了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI