您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關JavaScript如何規定在文本中檢索的內容的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
JavaScript RegExp 對象
RegExp(正則表達式)對象用于規定在文本中檢索的內容。
什么是 RegExp?
RegExp 是正則表達式的縮寫。
當您檢索某個文本時,可以使用一種模式來描述要檢索的內容。RegExp 就是這種模式:
簡單的模式可以是一個單獨的字符。
更復雜的模式包括了更多的字符,并可用于解析、格式檢查、替換等等。
您可以規定字符串中的檢索位置,以及要檢索的字符類型,等等。
定義 RegExp
RegExp 對象用于存儲檢索模式,通過 new 關鍵詞來定義 RegExp 對象。
例如,以下代碼定義了名為 patt1 的 RegExp 對象,其模式是 "e":
var patt1=new RegExp("e");
注釋:當您使用該 RegExp 對象在一個字符串中檢索時,將尋找的是字符 "e"。
RegExp 對象的方法
RegExp 對象有 3 個方法:test()、exec() 以及 compile()。
test()
test() 方法檢索字符串中的指定值,返回值是 true 或 false:
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free"));
注釋:由于該字符串中存在字母 "e",以上代碼的輸出將是:true。
exec()
exec() 方法檢索字符串中的指定值,返回值是被找到的值,如果沒有發現匹配,則返回 null:
var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free"));
注釋:由于該字符串中存在字母 "e",以上代碼的輸出將是:e。
提示:您可以向 RegExp 對象添加第二個參數,以設定檢索。
例如:如果需要找到所有某個字符的所有存在,則可以使用 "g" 參數 ("global")。
<html> <body> <script type="text/javascript"> var patt1=new RegExp("e","g"); do { result=patt1.exec("The best things in life are free"); document.write(result); } while (result!=null) </script> </body> </html>
注釋:由于這個字符串中 6 個 "e" 字母,代碼的輸出將是:eeeeeenull。
提示:在使用 "g" 參數時,exec() 的工作原理如下:
找到第一個 "e",并存儲其位置;
如果再次運行 exec(),則從存儲的位置開始檢索,并找到下一個 "e",并存儲其位置。
compile()
compile() 方法用于改變 RegExp。
compile() 既可以改變檢索模式,也可以添加或刪除第二個參數。
<html> <body> <script type="text/javascript"> var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); patt1.compile("d"); document.write(patt1.test("The best things in life are free")); </script> </body> </html>
注釋:由于字符串中存在 "e",而沒有 "d",以上代碼的輸出是:truefalse。
RegExp 對象 屬性及描述
global:RegExp 對象是否具有標志 g。
ignoreCase:RegExp 對象是否具有標志 i。
lastIndex:一個整數,標示開始下一次匹配的字符位置。
multiline:RegExp 對象是否具有標志 m。
source:正則表達式的源文本。
RegExp 對象 方法及描述
compile:編譯正則表達式。
exec:檢索字符串中指定的值。返回找到的值,并確定其位置。
test:檢索字符串中指定的值。返回 true 或 false。
支持正則表達式的 String 對象的方法
search:檢索與正則表達式相匹配的值。
match:找到一個或多個正則表達式的匹配。
replace:替換與正則表達式匹配的子串。
split:把字符串分割為字符串數組。
感謝各位的閱讀!關于“JavaScript如何規定在文本中檢索的內容”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。