您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JavaScript RegExp對象有什么屬性,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
JavaScript RegExp對象有5個屬性,分別是:global、ignoreCase、multiline、source和lastIndex。global、ignoreCase、multiline用來檢測正則表達式是否有g標志、i標志和m標志,如果該標志被設置,返回true,否則返回false。
JavaScript RegExp對象有什么屬性
例如,檢測正則表達式是否帶有修飾符:
alert(/abc/g.global);//顯示true
alert(/^abc$/.global);//顯示false
alert(/^[0-9a-z]{1,}$/.ignoreCase);//顯示false
alert(/^[0-9a-z]{1,}$/i.ignoreCase);//顯示true
source屬性用來返回正則表達式的源文本,該文本不包括正則表達式字面量使用的定界符,也不包括標志g、i、m。
例如:
alert(/abc/.source);//顯示abc
alert(/^abc$/.source);//顯示^abc$
alert(/www.itxueyuan.org/ig.source);//顯示www.itxueyuan.org
alert(/^[0-9a-z]{1,}$/i.source);//顯示^[0-9a-z]{1,}$
lastIndex屬性用于規定下次匹配的起始位置。
lastIndex屬性存放一個整數,規定下次匹配的起始位置,該位置是上一次匹配成功的文本后面的第一個字符的位置。
JavaScript RegExp對象有什么屬性
下來看下面一個例子:
var str="Itxueyuan's domain is www.itxueyuan.org.Welcome to itxueyuan!";
var pattern=new RegExp("itxueyuan","ig");
var i=1;
while(pattern.test(str)){
i++;
alert("第"+i+"次匹配的的起始位置:"+pattern.lastIndex);
}
運行結果:
第2次匹配的起始位置:9
第3次匹配的起始位置:35
第4次匹配的起始位置:61
上面的例子說明,test()方法是以lastIndex屬性所指的位置作為下次檢索的起始點。第一次檢索,lastIndex=0;第二次檢索,lastIndex=9;第三次檢索,lastIndex=35;第四次檢索,lastIndex=61。
這樣,就可以通過反復調用test()方法來遍歷一個字符串中的所有匹配文本。
lastIndex屬性是可讀可寫的,只要目標字符串的下一次搜索開始,就可以對它進行設置。當test()方法再也找不到可以匹配的文本時,會自動把lastIndex屬性重置為0。
注意:
不具有標志g和不表示全局模式的RegExp對象不能使用lastIndex屬性。
如果在成功地匹配了某個字符串之后就開始檢索另一個新的字符串,需要手動地把這個屬性設置為0。
關于JavaScript RegExp對象有什么屬性就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。