JavaScript 字符串高級(jí)替換
■知識(shí)點(diǎn)
replace()方法的第2個(gè)參數(shù)是一個(gè)函數(shù),replace()方法會(huì)給它傳遞多個(gè)實(shí)參,這些實(shí)參都包含一定的意思,具體說(shuō)明如下。
第1個(gè)參數(shù)表示匹配模式相匹配的文本,如示例中每次匹配的單詞字符串。
其后的參數(shù)是匹配模式中子表達(dá)式相匹配的字符串,參數(shù)個(gè)數(shù)不限,根據(jù)子表達(dá)式數(shù)而定。
后面的參數(shù)是一個(gè)整數(shù),表示匹配文本在字符串中的下標(biāo)位置。
最后一個(gè)參數(shù)表示字符串自身。
■實(shí)例設(shè)計(jì)
【示例1】把18.1.6小節(jié)的示例5中替換文本函數(shù)改為如下形式:
var f = function(){
return arguments[1].toUpperCase()+arguments[2];
}
也就是說(shuō),如果不為函數(shù)傳遞形參,直接調(diào)用函數(shù)的arguments屬性,同樣能夠讀取到正則表達(dá)式中相關(guān)匹配文本的信息。
arguments[0]:表示每次匹配的文本,即單詞。
arguments[l]:表示第1個(gè)子表達(dá)式匹配的文本,即單詞的首個(gè)字母。
arguments[2]:表示第2個(gè)子表達(dá)式匹配的文本,即單詞的余下字母。
arguments[3]:表示匹配文本的下標(biāo)位置,如第一個(gè)匹配單詞“javascript”的下標(biāo)位置就是0,以此類推。
arguments[4]:表不要執(zhí)行匹配的字符串,這里表不 “javascript is script, is not java. ”。
點(diǎn)擊加載更多評(píng)論>>