JS正則中的RegExp對象對象
更新時(shí)間:2012年11月07日 00:13:03 作者:
JavaScript提供了一個(gè)RegExp對象來完成有關(guān)正則表達(dá)式的操作和功能,每一條正則表達(dá)式模式對應(yīng)一個(gè)RegExp實(shí)例
有兩種方式可以創(chuàng)建RegExp對象的實(shí)例。
使用RegExp的顯式構(gòu)造函數(shù),語法為:new RegExp("pattern"[,"flags"])。
使用RegExp的隱式構(gòu)造函數(shù),采用純文本格式:/pattern/[flags]。
pattern部分為要使用的正則表達(dá)式模式文本,是必須的。在第一種方式中,pattern部分以JavaScript字符串的形式存在,需要使用雙引號或單引號括起來;在第二種方式中,pattern部分嵌套在兩個(gè)“/”之間,不能使用引號。
flags部分設(shè)置正則表達(dá)式的標(biāo)志信息,是可選項(xiàng)。如果設(shè)置flags部分,在第一種方式中,以字符串的形式存在;在第二種方式中,以文本的形式緊接在最后一個(gè)“/”字符之后。flags可以是以下標(biāo)志字符的組合。
g是全局標(biāo)志。如果設(shè)置了這個(gè)標(biāo)志,對某個(gè)文本執(zhí)行搜索和替換操作時(shí),將對文本中所有匹配的部分起作用。如果不設(shè)置這個(gè)標(biāo)志,則僅搜索和替換最早匹配的內(nèi)容。
i是忽略大小寫標(biāo)志。如果設(shè)置了這個(gè)標(biāo)志,進(jìn)行匹配比較時(shí),將忽略大小寫。
m是多行標(biāo)志。如果不設(shè)置這個(gè)標(biāo)志,那么元字符“^”只與整個(gè)被搜索字符串的開始位置相匹配,而元字符“$”只與被搜索字符串的結(jié)束位置相匹配。如果設(shè)置了這個(gè)標(biāo)志,“^”還可以與被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$”還可以與被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。
代碼1.1是一個(gè)創(chuàng)建正則表達(dá)式的例子。
代碼1.1 創(chuàng)建正則表達(dá)式:1.1.htm
<html>
<head>
<title>創(chuàng)建正則表達(dá)式 </title>
<script language = "JavaScript">
var myString="這是第一個(gè)正則表達(dá)式的例子";
var myregex = new RegExp("一個(gè)"); // 創(chuàng)建正則表達(dá)式
if (myregex.test(myString)){
document.write("找到了指定的模式!");
}
else{
document.write("未找到指定的模式。");
}
</script>
</head><body></body>
</html>
上面代碼的運(yùn)行結(jié)果如圖8.1所示。
由于JavaScript字符串中的“\”是一個(gè)轉(zhuǎn)義字符,因此,使用顯式構(gòu)造函數(shù)創(chuàng)建RegExp實(shí)例對象時(shí),應(yīng)將原始正則表達(dá)式中的“\”用“\\”替換。例如,在代碼1.2中的兩條語句是等價(jià)的。
代碼1.2 轉(zhuǎn)義字符中的“\”:1.2.htm
<script language="javascript">
var re1 = new RegExp("\\d{5}");
var re2 = /\d{5}/;
alert("re1="+re1+"\nre2="+re2);
</script>
由于正則表達(dá)式模式文本中的轉(zhuǎn)義字符也是“\”,如果正則表達(dá)式中要匹配原義字符“\”,在正則表達(dá)式模式文本中要以“\\”來表示,當(dāng)使用顯式構(gòu)造函數(shù)的方式創(chuàng)建RegExp實(shí)例對象的時(shí)候,就需要使用“\\\\”來表示原義字符“\”。
var re = new RegExp(\\\\)。
1 RegExp對象的屬性
RegExp對象的屬性分為靜態(tài)屬性和實(shí)例屬性。下面分別進(jìn)行介紹。
1.1 靜態(tài)屬性
(1)index屬性。是當(dāng)前表達(dá)式模式首次匹配內(nèi)容的開始位置,從0開始計(jì)數(shù)。其初始值為-1,每次成功匹配時(shí),index屬性都會隨之改變。
(2)input屬性。返回當(dāng)前所作用的字符串,可以簡寫為$_,初始值為空字符串""。
(3)lastIndex屬性。是當(dāng)前表達(dá)式模式首次匹配內(nèi)容中最后一個(gè)字符的下一個(gè)位置,從0開始計(jì)數(shù),常被作為繼續(xù)搜索時(shí)的起始位置,初始值為-1,表示從起始位置開始搜索,每次成功匹配時(shí),lastIndex屬性值都會隨之改變。
(4)lastMatch屬性。是當(dāng)前表達(dá)式模式的最后一個(gè)匹配字符串,可以簡寫為$&。其初始值為空字符串""。在每次成功匹配時(shí),lastMatch屬性值都會隨之改變。
(5)lastParen屬性。如果表達(dá)式模式中有括起來的子匹配,是當(dāng)前表達(dá)式模式中最后的子匹配所匹配到的子字符串,可以簡寫為$+。其初始值為空字符串""。每次成功匹配時(shí),lastParen屬性值都會隨之改變。
(6)leftContext屬性。是當(dāng)前表達(dá)式模式最后一個(gè)匹配字符串左邊的所有內(nèi)容,可以簡寫為$`(其中“'”為鍵盤上“Esc”下邊的反單引號)。初始值為空字符串""。每次成功匹配時(shí),其屬性值都會隨之改變。
(7)rightContext屬性。是當(dāng)前表達(dá)式模式最后一個(gè)匹配字符串右邊的所有內(nèi)容,可以簡寫為$'。初始值為空字符串""。每次成功匹配時(shí),其屬性值都會隨之改變。
(8)$1…$9屬性。這些屬性是只讀的。如果表達(dá)式模式中有括起來的子匹配,$1…$9屬性值分別是第1個(gè)到第9個(gè)子匹配所捕獲到的內(nèi)容。如果有超過9個(gè)以上的子匹配,$1…$9屬性分別對應(yīng)最后的9個(gè)子匹配。在一個(gè)表達(dá)式模式中,可以指定任意多個(gè)帶括號的子匹配,但RegExp對象只能存儲最后的9個(gè)子匹配的結(jié)果。在RegExp實(shí)例對象的一些方法所返回的結(jié)果數(shù)組中,可以獲得所有圓括號內(nèi)的子匹配結(jié)果。
1.2 實(shí)例屬性
(1)global屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的global標(biāo)志(g)的狀態(tài)。如果創(chuàng)建RegExp對象實(shí)例時(shí)設(shè)置了g標(biāo)志,該屬性返回True,否則返回False,默認(rèn)值為False。
(2)ignoreCase屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的ignoreCase標(biāo)志(i)的狀態(tài)。如果創(chuàng)建RegExp對象實(shí)例時(shí)設(shè)置了i標(biāo)志,該屬性返回True,否則返回False,默認(rèn)值為False。
(3)multiLine屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的multiLine標(biāo)志(m)的狀態(tài)。如果創(chuàng)建RegExp對象實(shí)例時(shí)設(shè)置了m標(biāo)志,該屬性返回True,否則返回False,默認(rèn)值為False。
(4)source屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的表達(dá)式文本字符串。
JS中的RegExp對象(二)
2 RegExp對象的方法
RegExp對象的常用方法有test、exec和compile,本節(jié)介紹這些方法的功能和用法。最后,對RegExp對象的屬性和方法進(jìn)行一個(gè)綜合舉例。
2.1 test方法
語法格式為test(str)。該方法檢查一個(gè)字符串中是否存在創(chuàng)建RegExp對象實(shí)例時(shí)所指定的表達(dá)式模式,如果存在就返回True,否則返回False。如果找到匹配項(xiàng),則會更新RegExp對象中的有關(guān)靜態(tài)屬性,以反映匹配情況。
2.2 exec方法
語法格式為exec(str)。該方法使用創(chuàng)建RegExp對象實(shí)例時(shí)所指定的表達(dá)式模式對一個(gè)字符串進(jìn)行搜索,并返回一個(gè)包含搜索結(jié)果的數(shù)組。
如果為正則表達(dá)式設(shè)置了全局標(biāo)志(g),可以通過多次調(diào)用exec和test方法在字符串中進(jìn)行連續(xù)搜索,每次都是從RegExp對象的lastIndex屬性值指定的位置開始搜索字符串。
如果沒有設(shè)置全局標(biāo)志(g),則exec和test方法忽略RegExp對象的lastIndex屬性值,從字符串的起始位置開始搜索。
如果exec方法沒有找到匹配,返回值為null;如果找到匹配,則返回一個(gè)數(shù)組,并更新RegExp對象中有關(guān)靜態(tài)屬性以反映匹配情況。返回?cái)?shù)組中的元素0包含了完整的匹配結(jié)果,而元素1~n依次是表達(dá)式模式中定義的各個(gè)子匹配的結(jié)果。
exec方法返回的數(shù)組有3個(gè)屬性,分別是input、index和lastIndex。
input屬性是整個(gè)被搜索的字符串。
index屬性是指匹配在整個(gè)被搜索字符串中的位置。
lastIndex屬性是指匹配的子字符串的最后一個(gè)字符的下一個(gè)字符位置。
代碼2.1是對該方法的應(yīng)用舉例。
代碼2.1 exec()方法應(yīng)用:2.1.htm
<html>
<head>
<title>exec()方法應(yīng)用</title>
<script language = "JavaScript">
var myString="aaa 111 bbb 222 ccc 1111 222ddd";
var regex = /111/; //創(chuàng)建正則表達(dá)式對象
var array=regex.exec(myString);
if (array){
var str="找到了匹配子串!"+"\n返回?cái)?shù)組的值為:"+array+"\n數(shù)組元素個(gè)數(shù):"
+array.length+"\n被搜索的字符串為:"+array.input
+"\n匹配子串的開始位置為:"+array.index
+"\n匹配子串后面第一個(gè)字符的位置為:"+regex.lastIndex;
alert(str);
}
else{
alert("未找到匹配子串!!");
}
</script>
<body></body>
</html>
2.3 compile方法
語法格式為compile("pattern"[,"flags"])。該方法可以更換RegExp對象實(shí)例所使用的表達(dá)式模式,并將新的表達(dá)式模式編譯為內(nèi)部格式,從而使以后的匹配過程執(zhí)行更快。如果要在循環(huán)中重復(fù)使用某個(gè)表達(dá)式,對其進(jìn)行編譯將使執(zhí)行加速。但是,如果在程序中使用了任何其他表達(dá)式模式后,再使用原來編譯過的表達(dá)式模式,則這種編譯毫無 益處。
2.4 綜合舉例
代碼2.2是對RegExp對象的綜合舉例,認(rèn)真分析代碼及其運(yùn)行結(jié)果,可以更好地理解RegExp對象。
代碼2.2 RegExp對象的使用:2.2.htm
<script language="javascript">
var strSrc = "xxa1b01c001yya2b02c002zz";
var re = /a(\d)b(\d{2})c(\d{3})/gi;
var arr, count = 0;
while ((arr = re.exec(strSrc)) != null)
{
displayResult();
}
function displayResult()
{
document.write("<p>這是用正則表達(dá)式/" + re.source + "/gi對字符串<br>""
+ RegExp.input + ""進(jìn)行第" + (++count) + "次搜索的結(jié)果:<br>");
document.write("RegExp.index為" + RegExp.index + "<br>");
document.write("RegExp.lastIndex為" + RegExp.lastIndex + "<br>");
document.write("RegExp.lastMatch為" + RegExp.lastMatch + "<br>");
document.write("RegExp.lastParen為" + RegExp.lastParen + "<br>");
document.write("RegExp.leftContext為" + RegExp.leftContext + "<br>");
document.write("RegExp.rightContext為" + RegExp.rightContext + "<br>");
document.write("RegExp.$1為" + RegExp.$1 + "<br>");
document.write("RegExp.$2為" + RegExp.$2 + "<br>");
document.write("RegExp.$3為" + RegExp.$3 + "<br>");
document.write("RegExp.$4為" + RegExp.$4 + "<br>");
document.write("arr.index為" + arr.index + "<br>");
document.write("arr.input為" + arr.input + "<br>");
document.write("arr.lastIndex為" + arr.lastIndex + "<br>");
document.write("返回?cái)?shù)組的元素個(gè)數(shù)為" + arr.length + "<br>");
document.write("返回?cái)?shù)組的內(nèi)容為["];
for(var i=0; i<arr.length; i++)
{
if(i < arr.length-1)
document.write(""" + arr[i] + "",");
else
document.write(""" + arr[i] + "")</p>");
}
}
</script>
使用RegExp的顯式構(gòu)造函數(shù),語法為:new RegExp("pattern"[,"flags"])。
使用RegExp的隱式構(gòu)造函數(shù),采用純文本格式:/pattern/[flags]。
pattern部分為要使用的正則表達(dá)式模式文本,是必須的。在第一種方式中,pattern部分以JavaScript字符串的形式存在,需要使用雙引號或單引號括起來;在第二種方式中,pattern部分嵌套在兩個(gè)“/”之間,不能使用引號。
flags部分設(shè)置正則表達(dá)式的標(biāo)志信息,是可選項(xiàng)。如果設(shè)置flags部分,在第一種方式中,以字符串的形式存在;在第二種方式中,以文本的形式緊接在最后一個(gè)“/”字符之后。flags可以是以下標(biāo)志字符的組合。
g是全局標(biāo)志。如果設(shè)置了這個(gè)標(biāo)志,對某個(gè)文本執(zhí)行搜索和替換操作時(shí),將對文本中所有匹配的部分起作用。如果不設(shè)置這個(gè)標(biāo)志,則僅搜索和替換最早匹配的內(nèi)容。
i是忽略大小寫標(biāo)志。如果設(shè)置了這個(gè)標(biāo)志,進(jìn)行匹配比較時(shí),將忽略大小寫。
m是多行標(biāo)志。如果不設(shè)置這個(gè)標(biāo)志,那么元字符“^”只與整個(gè)被搜索字符串的開始位置相匹配,而元字符“$”只與被搜索字符串的結(jié)束位置相匹配。如果設(shè)置了這個(gè)標(biāo)志,“^”還可以與被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$”還可以與被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。
代碼1.1是一個(gè)創(chuàng)建正則表達(dá)式的例子。
代碼1.1 創(chuàng)建正則表達(dá)式:1.1.htm
復(fù)制代碼 代碼如下:
<html>
<head>
<title>創(chuàng)建正則表達(dá)式 </title>
<script language = "JavaScript">
var myString="這是第一個(gè)正則表達(dá)式的例子";
var myregex = new RegExp("一個(gè)"); // 創(chuàng)建正則表達(dá)式
if (myregex.test(myString)){
document.write("找到了指定的模式!");
}
else{
document.write("未找到指定的模式。");
}
</script>
</head><body></body>
</html>
上面代碼的運(yùn)行結(jié)果如圖8.1所示。
由于JavaScript字符串中的“\”是一個(gè)轉(zhuǎn)義字符,因此,使用顯式構(gòu)造函數(shù)創(chuàng)建RegExp實(shí)例對象時(shí),應(yīng)將原始正則表達(dá)式中的“\”用“\\”替換。例如,在代碼1.2中的兩條語句是等價(jià)的。
代碼1.2 轉(zhuǎn)義字符中的“\”:1.2.htm
復(fù)制代碼 代碼如下:
<script language="javascript">
var re1 = new RegExp("\\d{5}");
var re2 = /\d{5}/;
alert("re1="+re1+"\nre2="+re2);
</script>
由于正則表達(dá)式模式文本中的轉(zhuǎn)義字符也是“\”,如果正則表達(dá)式中要匹配原義字符“\”,在正則表達(dá)式模式文本中要以“\\”來表示,當(dāng)使用顯式構(gòu)造函數(shù)的方式創(chuàng)建RegExp實(shí)例對象的時(shí)候,就需要使用“\\\\”來表示原義字符“\”。
var re = new RegExp(\\\\)。
1 RegExp對象的屬性
RegExp對象的屬性分為靜態(tài)屬性和實(shí)例屬性。下面分別進(jìn)行介紹。
1.1 靜態(tài)屬性
(1)index屬性。是當(dāng)前表達(dá)式模式首次匹配內(nèi)容的開始位置,從0開始計(jì)數(shù)。其初始值為-1,每次成功匹配時(shí),index屬性都會隨之改變。
(2)input屬性。返回當(dāng)前所作用的字符串,可以簡寫為$_,初始值為空字符串""。
(3)lastIndex屬性。是當(dāng)前表達(dá)式模式首次匹配內(nèi)容中最后一個(gè)字符的下一個(gè)位置,從0開始計(jì)數(shù),常被作為繼續(xù)搜索時(shí)的起始位置,初始值為-1,表示從起始位置開始搜索,每次成功匹配時(shí),lastIndex屬性值都會隨之改變。
(4)lastMatch屬性。是當(dāng)前表達(dá)式模式的最后一個(gè)匹配字符串,可以簡寫為$&。其初始值為空字符串""。在每次成功匹配時(shí),lastMatch屬性值都會隨之改變。
(5)lastParen屬性。如果表達(dá)式模式中有括起來的子匹配,是當(dāng)前表達(dá)式模式中最后的子匹配所匹配到的子字符串,可以簡寫為$+。其初始值為空字符串""。每次成功匹配時(shí),lastParen屬性值都會隨之改變。
(6)leftContext屬性。是當(dāng)前表達(dá)式模式最后一個(gè)匹配字符串左邊的所有內(nèi)容,可以簡寫為$`(其中“'”為鍵盤上“Esc”下邊的反單引號)。初始值為空字符串""。每次成功匹配時(shí),其屬性值都會隨之改變。
(7)rightContext屬性。是當(dāng)前表達(dá)式模式最后一個(gè)匹配字符串右邊的所有內(nèi)容,可以簡寫為$'。初始值為空字符串""。每次成功匹配時(shí),其屬性值都會隨之改變。
(8)$1…$9屬性。這些屬性是只讀的。如果表達(dá)式模式中有括起來的子匹配,$1…$9屬性值分別是第1個(gè)到第9個(gè)子匹配所捕獲到的內(nèi)容。如果有超過9個(gè)以上的子匹配,$1…$9屬性分別對應(yīng)最后的9個(gè)子匹配。在一個(gè)表達(dá)式模式中,可以指定任意多個(gè)帶括號的子匹配,但RegExp對象只能存儲最后的9個(gè)子匹配的結(jié)果。在RegExp實(shí)例對象的一些方法所返回的結(jié)果數(shù)組中,可以獲得所有圓括號內(nèi)的子匹配結(jié)果。
1.2 實(shí)例屬性
(1)global屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的global標(biāo)志(g)的狀態(tài)。如果創(chuàng)建RegExp對象實(shí)例時(shí)設(shè)置了g標(biāo)志,該屬性返回True,否則返回False,默認(rèn)值為False。
(2)ignoreCase屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的ignoreCase標(biāo)志(i)的狀態(tài)。如果創(chuàng)建RegExp對象實(shí)例時(shí)設(shè)置了i標(biāo)志,該屬性返回True,否則返回False,默認(rèn)值為False。
(3)multiLine屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的multiLine標(biāo)志(m)的狀態(tài)。如果創(chuàng)建RegExp對象實(shí)例時(shí)設(shè)置了m標(biāo)志,該屬性返回True,否則返回False,默認(rèn)值為False。
(4)source屬性。返回創(chuàng)建RegExp對象實(shí)例時(shí)指定的表達(dá)式文本字符串。
JS中的RegExp對象(二)
2 RegExp對象的方法
RegExp對象的常用方法有test、exec和compile,本節(jié)介紹這些方法的功能和用法。最后,對RegExp對象的屬性和方法進(jìn)行一個(gè)綜合舉例。
2.1 test方法
語法格式為test(str)。該方法檢查一個(gè)字符串中是否存在創(chuàng)建RegExp對象實(shí)例時(shí)所指定的表達(dá)式模式,如果存在就返回True,否則返回False。如果找到匹配項(xiàng),則會更新RegExp對象中的有關(guān)靜態(tài)屬性,以反映匹配情況。
2.2 exec方法
語法格式為exec(str)。該方法使用創(chuàng)建RegExp對象實(shí)例時(shí)所指定的表達(dá)式模式對一個(gè)字符串進(jìn)行搜索,并返回一個(gè)包含搜索結(jié)果的數(shù)組。
如果為正則表達(dá)式設(shè)置了全局標(biāo)志(g),可以通過多次調(diào)用exec和test方法在字符串中進(jìn)行連續(xù)搜索,每次都是從RegExp對象的lastIndex屬性值指定的位置開始搜索字符串。
如果沒有設(shè)置全局標(biāo)志(g),則exec和test方法忽略RegExp對象的lastIndex屬性值,從字符串的起始位置開始搜索。
如果exec方法沒有找到匹配,返回值為null;如果找到匹配,則返回一個(gè)數(shù)組,并更新RegExp對象中有關(guān)靜態(tài)屬性以反映匹配情況。返回?cái)?shù)組中的元素0包含了完整的匹配結(jié)果,而元素1~n依次是表達(dá)式模式中定義的各個(gè)子匹配的結(jié)果。
exec方法返回的數(shù)組有3個(gè)屬性,分別是input、index和lastIndex。
input屬性是整個(gè)被搜索的字符串。
index屬性是指匹配在整個(gè)被搜索字符串中的位置。
lastIndex屬性是指匹配的子字符串的最后一個(gè)字符的下一個(gè)字符位置。
代碼2.1是對該方法的應(yīng)用舉例。
代碼2.1 exec()方法應(yīng)用:2.1.htm
復(fù)制代碼 代碼如下:
<html>
<head>
<title>exec()方法應(yīng)用</title>
<script language = "JavaScript">
var myString="aaa 111 bbb 222 ccc 1111 222ddd";
var regex = /111/; //創(chuàng)建正則表達(dá)式對象
var array=regex.exec(myString);
if (array){
var str="找到了匹配子串!"+"\n返回?cái)?shù)組的值為:"+array+"\n數(shù)組元素個(gè)數(shù):"
+array.length+"\n被搜索的字符串為:"+array.input
+"\n匹配子串的開始位置為:"+array.index
+"\n匹配子串后面第一個(gè)字符的位置為:"+regex.lastIndex;
alert(str);
}
else{
alert("未找到匹配子串!!");
}
</script>
<body></body>
</html>
2.3 compile方法
語法格式為compile("pattern"[,"flags"])。該方法可以更換RegExp對象實(shí)例所使用的表達(dá)式模式,并將新的表達(dá)式模式編譯為內(nèi)部格式,從而使以后的匹配過程執(zhí)行更快。如果要在循環(huán)中重復(fù)使用某個(gè)表達(dá)式,對其進(jìn)行編譯將使執(zhí)行加速。但是,如果在程序中使用了任何其他表達(dá)式模式后,再使用原來編譯過的表達(dá)式模式,則這種編譯毫無 益處。
2.4 綜合舉例
代碼2.2是對RegExp對象的綜合舉例,認(rèn)真分析代碼及其運(yùn)行結(jié)果,可以更好地理解RegExp對象。
代碼2.2 RegExp對象的使用:2.2.htm
復(fù)制代碼 代碼如下:
<script language="javascript">
var strSrc = "xxa1b01c001yya2b02c002zz";
var re = /a(\d)b(\d{2})c(\d{3})/gi;
var arr, count = 0;
while ((arr = re.exec(strSrc)) != null)
{
displayResult();
}
function displayResult()
{
document.write("<p>這是用正則表達(dá)式/" + re.source + "/gi對字符串<br>""
+ RegExp.input + ""進(jìn)行第" + (++count) + "次搜索的結(jié)果:<br>");
document.write("RegExp.index為" + RegExp.index + "<br>");
document.write("RegExp.lastIndex為" + RegExp.lastIndex + "<br>");
document.write("RegExp.lastMatch為" + RegExp.lastMatch + "<br>");
document.write("RegExp.lastParen為" + RegExp.lastParen + "<br>");
document.write("RegExp.leftContext為" + RegExp.leftContext + "<br>");
document.write("RegExp.rightContext為" + RegExp.rightContext + "<br>");
document.write("RegExp.$1為" + RegExp.$1 + "<br>");
document.write("RegExp.$2為" + RegExp.$2 + "<br>");
document.write("RegExp.$3為" + RegExp.$3 + "<br>");
document.write("RegExp.$4為" + RegExp.$4 + "<br>");
document.write("arr.index為" + arr.index + "<br>");
document.write("arr.input為" + arr.input + "<br>");
document.write("arr.lastIndex為" + arr.lastIndex + "<br>");
document.write("返回?cái)?shù)組的元素個(gè)數(shù)為" + arr.length + "<br>");
document.write("返回?cái)?shù)組的內(nèi)容為["];
for(var i=0; i<arr.length; i++)
{
if(i < arr.length-1)
document.write(""" + arr[i] + "",");
else
document.write(""" + arr[i] + "")</p>");
}
}
</script>
相關(guān)文章
輕松實(shí)現(xiàn)js選項(xiàng)卡切換效果
這篇文章主要幫助大家輕松實(shí)現(xiàn)js選項(xiàng)卡切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09js+html5實(shí)現(xiàn)手機(jī)九宮格密碼解鎖功能
這篇文章主要為大家詳細(xì)介紹了js+html5實(shí)現(xiàn)手機(jī)九宮格密碼解鎖功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07javascript定時(shí)器取消定時(shí)器及優(yōu)化方法
這篇文章主要介紹了 javascript定時(shí)器取消定時(shí)器及js定時(shí)器優(yōu)化方法的相關(guān)資料,需要的朋友可以參考下2017-07-07JS前端認(rèn)證授權(quán)技巧歸納總結(jié)
這篇文章主要為大家介紹了JS前端認(rèn)證授權(quán)技巧歸納總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03