JavaScript replace(rgExp,fn)正則替換的用法
更新時(shí)間:2010年03月04日 13:24:54 作者:
再看jQuery源碼的時(shí)候遇到了replace中參數(shù)為函數(shù)的用法,正好復(fù)習(xí)一下replace正則替換的用法。
代碼如下:
var rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
fcloseTag = function(all, front, tag) {
return rselfClosing.test(tag) ?
all :
front + "></" + tag + ">";
};
//轉(zhuǎn)換"Xhtml" 風(fēng)格的標(biāo)簽為標(biāo)準(zhǔn)HTML標(biāo)簽
//如<tag/> 為 <tag></tag>
elem = elem.replace(rxhtmlTag, fcloseTag);
主要看 fcloseTag = function(all, front, tag){}
第一個(gè)參數(shù)all是通過(guò)rxhtmlTag匹配的整個(gè)字符串
第二個(gè)參數(shù)front是通過(guò)rxhtmlTag匹配的 第一個(gè) 左括號(hào)"(" 中的內(nèi)容
第三個(gè)參數(shù)tag是通過(guò)rxhtmlTag匹配的 第二個(gè) 左括號(hào)"(" 中的內(nèi)容
參數(shù)的個(gè)數(shù)根據(jù) 正則表達(dá)式中 左括號(hào)的個(gè)數(shù)成正比,按照從左到右的參數(shù)的位置和左括號(hào)的位置也一一對(duì)應(yīng)。
復(fù)制代碼 代碼如下:
var rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
fcloseTag = function(all, front, tag) {
return rselfClosing.test(tag) ?
all :
front + "></" + tag + ">";
};
//轉(zhuǎn)換"Xhtml" 風(fēng)格的標(biāo)簽為標(biāo)準(zhǔn)HTML標(biāo)簽
//如<tag/> 為 <tag></tag>
elem = elem.replace(rxhtmlTag, fcloseTag);
主要看 fcloseTag = function(all, front, tag){}
第一個(gè)參數(shù)all是通過(guò)rxhtmlTag匹配的整個(gè)字符串
第二個(gè)參數(shù)front是通過(guò)rxhtmlTag匹配的 第一個(gè) 左括號(hào)"(" 中的內(nèi)容
第三個(gè)參數(shù)tag是通過(guò)rxhtmlTag匹配的 第二個(gè) 左括號(hào)"(" 中的內(nèi)容
參數(shù)的個(gè)數(shù)根據(jù) 正則表達(dá)式中 左括號(hào)的個(gè)數(shù)成正比,按照從左到右的參數(shù)的位置和左括號(hào)的位置也一一對(duì)應(yīng)。
您可能感興趣的文章:
- JS正則替換去空格的方法
- JavaScript正則替換HTML標(biāo)簽功能示例
- js使用Replace結(jié)合正則替換重復(fù)出現(xiàn)的字符串功能示例
- JS正則替換掉小括號(hào)及內(nèi)容的方法
- JavaScript字符串對(duì)象replace方法實(shí)例(用于字符串替換或正則替換)
- javascript 正則替換 replace(regExp, function)用法
- javascript replace()正則替換實(shí)現(xiàn)代碼
- C#正則函數(shù)用法實(shí)例【匹配、替換、提取】
- JS和C#實(shí)現(xiàn)的兩個(gè)正則替換功能示例分析
相關(guān)文章
JavaScript開(kāi)發(fā)規(guī)范要求(規(guī)范化代碼)
作為一名開(kāi)發(fā)人員(WEB前端JavaScript開(kāi)發(fā)),不規(guī)范的開(kāi)發(fā)不僅使日后代碼維護(hù)變的困難,同時(shí)也不利于團(tuán)隊(duì)的合作,通常還會(huì)帶來(lái)代碼安全以及執(zhí)行效率上的問(wèn)題。2010-08-08javascript中substr,substring,slice.splice的區(qū)別說(shuō)明
某些情況下,負(fù)數(shù)的參數(shù)不識(shí)別.所以盡量不要用負(fù)數(shù)作參數(shù).免得瀏覽器不兼容,造成程序的出錯(cuò).2010-11-11JavaScript DOM學(xué)習(xí)第四章 getElementByTagNames
HTML有一些相關(guān)有不同tag名字的相關(guān)元素,比如H1-H6或者input,select和TEXTAREA。getElementByTagName只能取得那些有相同tag名稱的元素,所以你不能用他來(lái)取得所有的標(biāo)題或者整個(gè)表單內(nèi)容。2010-02-02深入理解JavaScript系列(36):設(shè)計(jì)模式之中介者模式詳解
這篇文章主要介紹了深入理解JavaScript系列(36):設(shè)計(jì)模式之中介者模式詳解,中介者模式(Mediator)是指用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互,需要的朋友可以參考下2015-03-03