您好,登錄后才能下訂單哦!
本篇內容主要講解“JavaScript中的正則表達式怎么應用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JavaScript中的正則表達式怎么應用”吧!
正則表達式(regular expression)對象包含一個正則表達式模式(pattern)。它具有用正則表達式模式去匹配或代替一個串(string)中特定字符(或字符集合)的屬性(properties)和方法(methods)。 要為一個單獨的正則表達式添加屬性,可以使用正則表達式構造函數(constructor function),無論何時被調用的預設置的正則表達式擁有靜態的屬性(the predefined RegExp object has static properties that are set whenever any regular expression is used
創建:
一個文本格式或正則表達式構造函數
文本格式: /pattern/flags
正則表達式構造函數: new RegExp("pattern"[,"flags"]);
參數說明:
pattern -- 一個正則表達式文本
flags -- 如果存在,將是以下值:
g: 全局匹配
i: 忽略大小寫
gi: 以上組合
[注意] 文本格式的參數不用引號,而在用構造函數時的參數需要引號。如:/ab+c/i new RegExp("ab+c","i")是實現一樣的功能。在構造函數中,一些特殊字符需要進行轉意(在特殊字符前加"")。如:re = new RegExp("w+")
正則表達式中的特殊字符
字符 含意
做為轉意,即通常在""后面的字符不按原來意義解釋,如/b/匹配字符"b",當b前面加了反斜桿后//,轉意為匹配一個單詞的邊界。
-或-
對正則表達式功能字符的還原,如"*"匹配它前面元字符0次或多次,/a*/將匹配a,aa,aaa,加了""后,/a*/將只匹配"a*"。
^ 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a" $ 匹配一個輸入或一行的結尾,/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 匹配一個字數字符,/d/ = /[0-9]/ D 匹配一個非字數字符,/D/ = /[^0-9]/
匹配一個換行符 匹配一個回車符 s 匹配一個空白字符,包括
,,f, ,v等 S 匹配一個非空白字符,等于/[^
f v]/ 匹配一個制表符 v 匹配一個重直制表符 w 匹配一個可以組成單詞的字符(alphanumeric,這是我的意譯,含數字),包括下劃線,如[w]匹配"$5.98"中的5,等于[a-zA-Z0-9] W 匹配一個不可以組成單詞的字符,如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。
說了這么多了,我們來看一些正則表達式的實際應用的例子:
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中的正則表達式怎么應用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。