本文實(shí)例講述了JavaScript正則表達(dá)式替換字符串中圖片地址(img src)的方法。分享給大家供大家參考,具體如下:
目前成都創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計、利州網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
今天開發(fā)中遇到一個問題:如何替換一段HTML字符串中包含的所有img標(biāo)簽的src值?
開始想到的解決方法是:
content.replace(/]*src=['"]([^'"]+)[^>]*>/gi, function (match) { console.log(match); });
輸出結(jié)果是:
得到的是整個img標(biāo)簽,但我期望得到的是src中的網(wǎng)址,這樣只需在function(match)中返回新地址就行了。
于是,卡在這里了。。。
后來,通過Google搜索關(guān)鍵字“javascript replace callback”,在stackoverflow中找到了“replace callback function with matches”,才知道function(match)還有其他參數(shù)(詳見developer.mozilla.org)。
然后,改為下面的代碼,問題就解決了。
content.replace(/]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) { console.log(capture); });
輸出結(jié)果:
https://www.jb51.net/images/logo.gif
搞定!
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript正則表達(dá)式技巧大全》、《JavaScript替換操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。