溫馨提示×

溫馨提示×

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

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

JavaScript中的正則表達(dá)式怎么應(yīng)用

發(fā)布時間:2021-12-03 16:20:33 來源:億速云 閱讀:156 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“JavaScript中的正則表達(dá)式怎么應(yīng)用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“JavaScript中的正則表達(dá)式怎么應(yīng)用”吧!

  正則表達(dá)式(regular expression)對象包含一個正則表達(dá)式模式(pattern)。它具有用正則表達(dá)式模式去匹配或代替一個串(string)中特定字符(或字符集合)的屬性(properties)和方法(methods)。 要為一個單獨的正則表達(dá)式添加屬性,可以使用正則表達(dá)式構(gòu)造函數(shù)(constructor function),無論何時被調(diào)用的預(yù)設(shè)置的正則表達(dá)式擁有靜態(tài)的屬性(the predefined RegExp object has static properties that are set whenever any regular expression is used

  • 創(chuàng)建:
    一個文本格式或正則表達(dá)式構(gòu)造函數(shù)
    文本格式: /pattern/flags
    正則表達(dá)式構(gòu)造函數(shù): new RegExp("pattern"[,"flags"]);

  • 參數(shù)說明:
    pattern -- 一個正則表達(dá)式文本
    flags -- 如果存在,將是以下值:
    g: 全局匹配
    i: 忽略大小寫
    gi: 以上組合

[注意] 文本格式的參數(shù)不用引號,而在用構(gòu)造函數(shù)時的參數(shù)需要引號。如:/ab+c/i new RegExp("ab+c","i")是實現(xiàn)一樣的功能。在構(gòu)造函數(shù)中,一些特殊字符需要進(jìn)行轉(zhuǎn)意(在特殊字符前加"")。如:re = new RegExp("w+")

正則表達(dá)式中的特殊字符

字符 含意

做為轉(zhuǎn)意,即通常在""后面的字符不按原來意義解釋,如/b/匹配字符"b",當(dāng)b前面加了反斜桿后//,轉(zhuǎn)意為匹配一個單詞的邊界。
-或-
對正則表達(dá)式功能字符的還原,如"*"匹配它前面元字符0次或多次,/a*/將匹配a,aa,aaa,加了""后,/a*/將只匹配"a*"。

^ 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a" $ 匹配一個輸入或一行的結(jié)尾,/a$/匹配"An a",而不匹配"an A" * 匹配前面元字符0次或多次,/ba*/將匹配b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba*/將匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/將匹配b,ba (x) 匹配x保存x在名為$1...$9的變量中 x|y 匹配x或y {n} 精確匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配這個集合中的任一一個字符(或元字符) [^xyz] 不匹配這個集合中的任何一個字符 [] 匹配一個退格符  匹配一個單詞的邊界 B 匹配一個單詞的非邊界 cX 這兒,X是一個控制符,/cM/匹配Ctrl-M d 匹配一個字?jǐn)?shù)字符,/d/ = /[0-9]/ D 匹配一個非字?jǐn)?shù)字符,/D/ = /[^0-9]/ 匹配一個換行符  匹配一個回車符 s 匹配一個空白字符,包括 ,,f, ,v等 S 匹配一個非空白字符,等于/[^ f v]/ 匹配一個制表符 v 匹配一個重直制表符 w 匹配一個可以組成單詞的字符(alphanumeric,這是我的意譯,含數(shù)字),包括下劃線,如[w]匹配"$5.98"中的5,等于[a-zA-Z0-9] W 匹配一個不可以組成單詞的字符,如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

說了這么多了,我們來看一些正則表達(dá)式的實際應(yīng)用的例子:

E-Mail地址驗證:
 function test_email(strEmail) {
 var myReg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$/;
 if(myReg.test(strEmail)) return true;
 return false;
 }
HTML代碼的屏蔽
 function mask_HTMLCode(strInput) {
  var myReg = /<(w+)>/;
  return strInput.replace(myReg, "<$1>");
 }

到此,相信大家對“JavaScript中的正則表達(dá)式怎么應(yīng)用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

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

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

AI