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

VUE正則表達(dá)式用法全集整理(推薦!)

 更新時(shí)間:2024年02月19日 09:41:29   作者:視圖猿人  
正則表達(dá)式是由一些特定的字符組成,代表一個(gè)規(guī)則,可以用來檢驗(yàn)數(shù)據(jù)格式是否合法,也可以在一段文本中查找滿足要求的內(nèi)容,這篇文章主要給大家介紹了關(guān)于VUE正則表達(dá)式用法的相關(guān)資料,需要的朋友可以參考下

一、正則表達(dá)式的基本語法

var expression = /pattern(模式)/flags(標(biāo)識(shí)符);

二、如何創(chuàng)建正則表達(dá)式

1.字面量創(chuàng)建

代碼如下:

//匹配字符串中所有“at”的實(shí)例
var e = /at/g;
//匹配第一個(gè)“bat”或“cat”,不區(qū)分大小寫
var e = /[bc]at/i;

2.RegExp構(gòu)造函數(shù)創(chuàng)建

RegExp構(gòu)造函數(shù)接收兩個(gè)參數(shù),第一個(gè)參數(shù)是要匹配的字符串模式,第二個(gè)是可選的標(biāo)識(shí)符字符串。 代碼如下:

//匹配第一個(gè)“bat”或“cat”,不區(qū)分大小寫
var e = new RegExp("[bc]at","i");

兩種創(chuàng)建方式的比較

在ECMAScript3中,字面量創(chuàng)建和RegExp對(duì)象創(chuàng)建區(qū)別是:字面量創(chuàng)建始終會(huì)共享同一個(gè)RegExp實(shí)例,而構(gòu)造函數(shù)創(chuàng)建的每一個(gè)RegExp實(shí)例都是一個(gè)新實(shí)例 ECMAScript5明確規(guī)定:使用正則表達(dá)式字面量必須像直接調(diào)用RegExp構(gòu)造函數(shù)一樣,每次都創(chuàng)建新的RegExp實(shí)例。IE9+、Firefox 4+和Chrome都做出了修改。

需要注意的是,正則表達(dá)式中的元字符必須轉(zhuǎn)義。元字符有:

( [ { \ ^ $ | ) ? * + . ] }

例如:

//匹配第一個(gè)“[bc]at”,不區(qū)分大小寫
var e = /\[bc\]at/i;
//在RegExp構(gòu)造函數(shù)創(chuàng)建時(shí),元字符需要雙重on轉(zhuǎn)義
var e = new RegExp("\\[bc\\]at","i");

三、RegExp實(shí)例的屬性和方法

RegExp 實(shí)例屬性

  • ignoreCase 返回布爾值,表示RegExp對(duì)象是否具有標(biāo)志 i
  • global 返回布爾值,表示RegExp對(duì)象是否具有表示 g
  • multiline 返回布爾值,表示RegExp對(duì)象是否具有表示 m
  • lastIndex 一個(gè)整數(shù),標(biāo)識(shí)開始下一次匹配的字符位置
  • soure 返回正則表達(dá)式的原文本 (不包括反斜杠)
  • i 執(zhí)行對(duì)大小寫不敏感的匹配
  • g 執(zhí)行全局匹配 (查找所有匹配而非在找到第一個(gè)匹配后停止)
  • m 執(zhí)行多行匹配

字符類匹配

  • [...]查找方括號(hào)之間的任何字符
  • [^..]查找任何不在方括號(hào)之間的字符
  • [a-z]查找任何從小寫a到小寫z的字符
  • [A-Z]查找任何從大寫A到大寫Z的字符
  • [A-z]查找任何從大寫A到小寫z的字符
  • . 查找單個(gè)字符,除了換行和行結(jié)束符
  • \w 查找單詞字符,等價(jià)于 [a-zA-Z0-9]
  • \W 查找非單詞字符,等價(jià)于 [^a-zA-Z0-9]
  • \s 查找空白字符
  • \S 查找非空白字符
  • \d 查找數(shù)字,等價(jià)于[0-9]
  • \D 查找非數(shù)字字符,等價(jià)于[^0-9]
  • \b 匹配單詞邊界
  • \r 查找回車符
  • \t 查找制表符
  • \0 查找NULL字符
  • \n 查找換行符

重復(fù)字符匹配

  • {n,m}匹配前一項(xiàng)至少n次,但不能超過m次
  • {n,}匹配前一項(xiàng)n次或更多次
  • {n}匹配前一項(xiàng)n次
  • n?匹配前一項(xiàng)0次或者1次,也就是說前一項(xiàng)是可選的,等價(jià)于{0,1}
  • n+匹配前一項(xiàng)一次或多次,等價(jià)于{1,}
  • n*匹配前一項(xiàng)0次或多次,等價(jià)于{0,}
  • n$匹配任何結(jié)尾為n的字符串
  • ^n匹配任何開頭為n的字符串
  • ?=n匹配任何其后緊接指定字符串n的字符串
  • ?!n匹配任何其后沒有緊接指定字符串n的字符串

匹配特定數(shù)字

  • ^[1-9]\d*$ 匹配正整數(shù)
  • ^-[1-9]\d*$ 匹配負(fù)整數(shù)
  • ^-?[0-9]\d*$ 匹配整數(shù)
  • ^[1-9]\d*|0$ 匹配非負(fù)整數(shù)(正整數(shù) + 0)
  • ^-[1-9]\d*|0$ 匹配非正整數(shù)(負(fù)整數(shù) + 0)
  • ^[1-9]\d*.\d*|0.\d*[1-9]\d*$ 匹配正浮點(diǎn)數(shù)
  • ^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ 匹配負(fù)浮點(diǎn)數(shù)
  • ^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$ 匹配浮點(diǎn)數(shù)
  • ^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$ 匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
  • ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$ 匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)

四、正規(guī)則表達(dá)式有哪些方法?

1.exec()方法

exec()方法為模式的捕獲組而設(shè)計(jì)的,該方法接收一個(gè)參數(shù),即要匹配的字符串,該方法返回一個(gè)包含捕獲組的數(shù)組Array,如果沒有捕獲組匹配返回null。返回的數(shù)組Array中,第一項(xiàng)是與整個(gè)模式匹配的字符串,其他項(xiàng)是與模式中的捕獲組匹配到的字符串。數(shù)組Array中還有兩個(gè)參數(shù)input(返回要匹配的字符串),index(返回匹配項(xiàng)在字符串中的位置) 模式中的捕獲組就是指圓括號(hào)中的字符串。

例如:

var e = /do(es)(d)?/;
e.exec("ssdoesdo");
/**
array[0]:"doesd",
array[1]:"es",
array[2]:"d",
index:2,
input:"ssdoesdo"
**/

例子中,模式中包含兩個(gè)捕獲組”es”、”d”,即圓括號(hào)中的字符串。

2.test()方法

test()方法檢索字符串中指定的值,該方法接收一個(gè)參數(shù),如果字符串中含有與模式匹配的文本則返回true,否則返回false。

例如:

var e = /do(es)?/;
e.test("doesdo");
//true

如果正則表達(dá)式中帶有g(shù)標(biāo)識(shí)符,則每一次調(diào)用test方法和exec方法都從上一次匹配結(jié)束位置開始匹配;如果正則表達(dá)式中沒有g(shù)標(biāo)識(shí)符,則每次調(diào)用方法都從字符串起始位置開始匹配。

例如:

var e = /do(es)?/g;
e.exec("ssdoesdoesdoes");
/*
array[0]:"does",
array[1]:"es",
index:2,
input:"ssdoesdoesdoes"
*/
e.exec("ssdoesdoesdoes");
/*
array[0]:"does",
array[1]:"es",
index:6,
input:"ssdoesdoesdoes"
*/
var e = /do(es)?/g;
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//6
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//10
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//14
var e = /do(es)?/;
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//0
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//0

五、常用的幾種正則校驗(yàn)表達(dá)式

1.匹配手機(jī)號(hào)

/^1[34578]\d{9}$/

2.匹配正整數(shù)

/^[0-9]\d*$/

3.匹配ip地址

/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/

4.匹配郵箱

/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/

5.匹配身份證

/^(\d{14}|\d{17})(\d|[xX])$/

其他:

el-input中不允許輸入特殊字符

const handleInput = (data: any) => {
    data.name = data.name.replace(
        /[-~#()|【-】· (){}+=*^&%$@!.,,。<>;::;‘'“”、'"?`\\/\\]/g,
        '',
    );
};

總結(jié) 

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

相關(guān)文章

  • Vue中slot的使用詳解

    Vue中slot的使用詳解

    這篇文章主要介紹了Vue中slot的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vue組件如何自動(dòng)按需引入詳析

    Vue組件如何自動(dòng)按需引入詳析

    剛學(xué)vue時(shí)候?qū)τ谌纸M件和局部組件有點(diǎn)懵,不知道什么時(shí)候用全局,什么時(shí)候用局部,下面這篇文章主要給大家介紹了關(guān)于Vue組件如何自動(dòng)按需引入的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • 在vue3項(xiàng)目中實(shí)現(xiàn)國(guó)際化的代碼示例

    在vue3項(xiàng)目中實(shí)現(xiàn)國(guó)際化的代碼示例

    國(guó)際化就是指在一個(gè)項(xiàng)目中,項(xiàng)目中的語言可以進(jìn)行切換(中英文切換),那么在實(shí)際項(xiàng)目中是如何實(shí)現(xiàn)的呢,本文就給大家詳細(xì)的介紹實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-07-07
  • vue實(shí)現(xiàn)輸入框的模糊查詢的示例代碼(節(jié)流函數(shù)的應(yīng)用場(chǎng)景)

    vue實(shí)現(xiàn)輸入框的模糊查詢的示例代碼(節(jié)流函數(shù)的應(yīng)用場(chǎng)景)

    這篇文章主要介紹了vue實(shí)現(xiàn)輸入框的模糊查詢的示例代碼(節(jié)流函數(shù)的應(yīng)用場(chǎng)景),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Vue 計(jì)算屬性 computed

    Vue 計(jì)算屬性 computed

    這篇文章主要介紹了Vue 計(jì)算屬性 computed,一般情況下屬性都是放到data中的,但是有些屬性可能是需要經(jīng)過一些邏輯計(jì)算后才能得出來,那么我們可以把這類屬性變成計(jì)算屬性,下面我們來看看具體實(shí)例,需要的朋友可以參考一下
    2021-10-10
  • 在IDEA中創(chuàng)建vue hello-world項(xiàng)目全過程

    在IDEA中創(chuàng)建vue hello-world項(xiàng)目全過程

    用戶分享了在IDEA中搭建Vue HelloWorld項(xiàng)目的簡(jiǎn)要步驟:安裝Node.js和npm,配置淘寶鏡像加速,安裝Vue插件,創(chuàng)建項(xiàng)目并指定名稱,運(yùn)行npm run serve啟動(dòng)服務(wù),最終通過本地8080端口訪問項(xiàng)目
    2025-09-09
  • 前端數(shù)據(jù)存儲(chǔ)常用工具Vuex、Pinia、Redux詳解

    前端數(shù)據(jù)存儲(chǔ)常用工具Vuex、Pinia、Redux詳解

    Redux、Vuex 和 Pinia 都是用于狀態(tài)管理的流行框架,這篇文章主要介紹了前端數(shù)據(jù)存儲(chǔ)常用工具Vuex、Pinia、Redux的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 一文詳解mitt和bus有什么區(qū)別

    一文詳解mitt和bus有什么區(qū)別

    事件總線作為一種全局的組件通信方法,符合訂閱發(fā)布模式,由于其簡(jiǎn)單有效的使用方式,受到部分開發(fā)者的歡迎,這篇文章主要介紹了mitt和bus有什么區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2026-03-03
  • vue路由懶加載工作原理

    vue路由懶加載工作原理

    Vue路由懶加載是一種優(yōu)化技術(shù),旨在減少應(yīng)用程序的初始加載時(shí)間并提高性能,這篇文章給大家介紹vue路由懶加載的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • vue-element-admin+flask實(shí)現(xiàn)數(shù)據(jù)查詢項(xiàng)目的實(shí)例代碼

    vue-element-admin+flask實(shí)現(xiàn)數(shù)據(jù)查詢項(xiàng)目的實(shí)例代碼

    這篇文章主要介紹了vue-element-admin+flask實(shí)現(xiàn)數(shù)據(jù)查詢項(xiàng)目,填寫數(shù)據(jù)庫連接信息和查詢語句,即可展示查詢到的數(shù)據(jù),需要的朋友可以參考下
    2022-11-11

最新評(píng)論

张北县| 永平县| 毕节市| 酉阳| 牟定县| 吉水县| 香河县| 尚义县| 天台县| 黑河市| 平顶山市| 大关县| 定襄县| 苍山县| 色达县| 福清市| 达日县| 建水县| 兴义市| 湘乡市| 东乡| 永仁县| 成武县| 诸暨市| 陆川县| 交口县| 易门县| 阿城市| 自贡市| 平顶山市| 嘉善县| 微山县| 马关县| 巴马| 石渠县| 兴国县| 中西区| 广河县| 横峰县| 贵港市| 美姑县|