最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js正則表達式常用方法梳理(附代碼案例)

 更新時間:2024年05月15日 08:30:03   作者:資深前端之路  
正則表達式在我們?nèi)粘痰墓ぷ黜椖恐?應(yīng)該是一個經(jīng)常用到的技能,在做一些字符的匹配和處理的過程中,發(fā)揮了很大的作用,這篇文章主要給大家介紹了關(guān)于js正則表達式常用方法的相關(guān)資料,需要的朋友可以參考下

1、常用的方法

RegExp:定義正則字面量。常用定義new RegExp(),或者//定義。

test:執(zhí)行正則表達式的字面量方法進行匹配。匹配失敗返回false,匹配成功返回true。

exec:獲取正則匹配的片段,返回值是一個數(shù)組,第一個索引是匹配的字符串內(nèi)容;如果未匹配,返回null。在執(zhí)行的過程中要注意,exec方法默認只捕獲第一個獲取的字符串內(nèi)容,如果想獲取多個,需要在正則字面量中加入標識符g(全局標識符),第二次捕獲的時候,就會按照順序捕獲第二個相同的內(nèi)容。

在使用限定符{n,m}時,exce會默認捕獲最大長度的字符串。如\d{1,3}進行匹配時,會返回最大的匹配長度。如果像獲取最小的長度,可以在限定符后面加上?,如\d{1,,3}?。具體的代碼,可以看代碼案例

注意:正則主要是用來匹配字符串的方法,所以原字符中的內(nèi)容只是值,與數(shù)字的類型沒有關(guān)系。

2、元字符

  • \d:一位值為數(shù)字的字符串。
  • \D:一位非數(shù)字的字符串。
  • \s:一位空白內(nèi)容字符串,主要包含:換行(\n) 、空格(\t)、 縮進。
  • \S:一位非空白內(nèi)容的字符串。
  • \w:一位包含字母、數(shù)字、下劃線的字符串。
  • \W:一位不包含字母、數(shù)字、下劃線的字符串。
  • .:任意內(nèi)容的字符串,不包含換行。

3、邊界符

  • ^:開頭必須是xx字符串。
  • $:結(jié)尾必須是xx字符串。

注意兩者同時使用時,代表,開頭必須是xx,且結(jié)尾必須是xx,是兩種條件同時存在。

4、限定符

  • *:通用符,至少包含0~多次。所有字符串都通用。
  • +:代表1~多次。至少字符串要出現(xiàn)一次。
  • ?: 代表0~1次。字符串出現(xiàn)一次時,返回true;字符串不出現(xiàn)時,返回false.
  • {n}:代表連續(xù)出現(xiàn)n次。
  • {n,}:代表至少連續(xù)出現(xiàn) >= n+次字符串。
  • {n,m}:代表至少連續(xù)出現(xiàn)>=n 且 <=m長度的字符串。

5、特殊符

  • ():將元字符作為一個整體。將多種組合方式作為整體。
  • | :代表或的含義,字面量中的規(guī)則只需要保持一個匹配條件即可。
  • []:代表一位中括號的字符。如[12345689],包含其中的一位就符合條件。如 0-9、a-z、A-Z

6、常用表達式

以下是常用的正則表達式規(guī)則,以下是自己常用的一些表達式規(guī)則,可以直接復(fù)制粘貼:

郵箱地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
網(wǎng)址:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
國內(nèi)手機號:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
國內(nèi)電話號:^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
身份證號(15位、18位數(shù)字):^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

7、收獲總結(jié)

在回顧正則元字符的過程中,表達式的規(guī)則,首先定義包含的字符格式,然后限定字符串長度,接著確定是否有邊界限制,如以xx開頭,以xx結(jié)尾,最后是進行匹配執(zhí)行。將按照這個順序來理解正則,就容易很多。

8、代碼案例

const initData3 = ()=>{
  let reg = /\d{1,3}/
  let reg2 = /\d{1,3}?/
  let str = "now is 1233434"
  let str2 = "now is 12"
  let a = reg.exec(str)
  let b = reg.exec(str2)
  let c = reg2.exec(str)
  let d = reg2.exec(str2)
  console.log('最大1',a)
  console.log('最大2',b)
  console.log('最小1',c)
  console.log('最小2',d)
}

附:校驗密碼強度

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
  • (?=…) 是正向肯定預(yù)查的語法,表示在當前位置向后查找匹配括號內(nèi)的表達式。
  • .:匹配除換行符外的任意一個字符。
  • .* 表示匹配任意數(shù)量的字符(除換行符外)。
  • (?=.\d) 表達式的含義是:在當前位置向后查找,如果存在至少一個數(shù)字,則匹配成功。當前位置是在匹配的起始位置(^)之后。
  • (?=.[a-z]) 表示使用正向肯定預(yù)查來匹配至少一個小寫字母。當前位置是在匹配的起始位置(^)之后。
  • (?=.*[A-Z]) 表示使用正向肯定預(yù)查來匹配至少一個大寫字母。當前位置是在匹配的起始位置(^)之后。

包含大小寫字母和數(shù)字的組合,不能使用特殊字符,長度在8-10之間。

總結(jié) 

到此這篇關(guān)于js正則表達式常用方法的文章就介紹到這了,更多相關(guān)js正則表達式常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用js實現(xiàn)的一個根據(jù)內(nèi)容自動生成表格的函數(shù)

    用js實現(xiàn)的一個根據(jù)內(nèi)容自動生成表格的函數(shù)

    用js實現(xiàn)的一個根據(jù)內(nèi)容自動生成表格的函數(shù)...
    2007-08-08
  • 小程序跨頁面交互的作用與方法詳解

    小程序跨頁面交互的作用與方法詳解

    這篇文章主要介紹了小程序跨頁面交互的作用與方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 微信小程序登錄時如何獲取input框中的內(nèi)容

    微信小程序登錄時如何獲取input框中的內(nèi)容

    這篇文章主要介紹了微信小程序登錄時如何獲取input框中的內(nèi)容,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 創(chuàng)建一般js對象的幾種方式

    創(chuàng)建一般js對象的幾種方式

    本文主要介紹了創(chuàng)建一般js對象的幾種方式。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 簡單通過settimeout看javascript的運行機制

    簡單通過settimeout看javascript的運行機制

    這篇文章主要給大家介紹了關(guān)于如何通過settimeout看javascript的運行機制的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • MUI 上拉刷新/下拉加載功能實例代碼

    MUI 上拉刷新/下拉加載功能實例代碼

    這篇文章主要介紹了MUI 上拉刷新/下拉加載功能實例代碼,包括一些個人心得,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-04-04
  • JavaScript獲取數(shù)組最后一個元素的3種方法以及性能

    JavaScript獲取數(shù)組最后一個元素的3種方法以及性能

    在開發(fā)過程中,我們常常需要得到j(luò)s數(shù)組的最后一個數(shù)組元素,下面這篇文章主要給大家介紹了關(guān)于JavaScript獲取數(shù)組最后一個元素的3種方法以及性能,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • JS實現(xiàn)可點擊展開與關(guān)閉的左側(cè)廣告代碼

    JS實現(xiàn)可點擊展開與關(guān)閉的左側(cè)廣告代碼

    這篇文章主要介紹了JS實現(xiàn)可點擊展開與關(guān)閉的左側(cè)廣告代碼,通過鼠標onClick事件調(diào)用自定義javascript函數(shù)實現(xiàn)頁面元素及樣式的顯示與隱藏效果,非常簡單實用,需要的朋友可以參考下
    2015-09-09
  • 微信小程序 JS動態(tài)修改樣式的實現(xiàn)代碼

    微信小程序 JS動態(tài)修改樣式的實現(xiàn)代碼

    這篇文章主要介紹了微信小程序 JS動態(tài)修改樣式的實現(xiàn)代碼,原理是綁定數(shù)據(jù),然后動態(tài)的修改數(shù)據(jù),從而實現(xiàn)動態(tài)樣式的改變而已,需要的朋友可以參考下
    2017-02-02
  • Swiper如何實現(xiàn)兩行四列輪播圖效果實例

    Swiper如何實現(xiàn)兩行四列輪播圖效果實例

    大家應(yīng)該都知道,Swiper是純javascript打造的滑動特效插件,面向手機、平板電腦等移動終端,下面這篇文章主要給大家介紹了關(guān)于Swiper如何實現(xiàn)兩行四列輪播圖效果的相關(guān)資料,需要的朋友可以參考下
    2022-10-10

最新評論

宁陵县| 平罗县| 河源市| 化州市| 泗阳县| 吉木乃县| 冕宁县| 灵寿县| 贵定县| 泸定县| 承德市| 华亭县| 扎囊县| 牡丹江市| 张家川| 威宁| 遂宁市| 乌审旗| 清镇市| 福贡县| 武陟县| 达日县| 泾川县| 筠连县| 白玉县| 柳林县| 邹平县| 唐山市| 平定县| 澎湖县| 南部县| 民县| 塔城市| 湖州市| 昭苏县| 阳山县| 景宁| 盘锦市| 兴义市| 穆棱市| 铅山县|