本文實例講述了js正則匹配出所有圖片及圖片地址src的方法。分享給大家供大家參考。具體分析如下:
有很多時候我們需要用到文章里面的圖片,而且主要是用到它的圖片地址,這個時候我們需要通過正則匹配出圖片標簽,然后做到我們需要的數據
平時也沒怎么用正則,一不學就忘,最近項目需要,然后又去goole了,好亂!一搜一大堆,也不是我想要的,最后把自己留一個已被后用:
實現:通過js正則匹配出所有圖片及所有圖片地址src。
思路:1.匹配出圖片img標簽(即匹配出所有圖片),過濾其他不需要的字符
從匹配出來的結果(img標簽中)循環匹配出圖片地址(即src屬性)
代碼:(你可以復制到本地試試)
<script type="text/javascript">//思路分兩步:作者(yanue).//1,匹配出圖片img標簽(即匹配出所有圖片),過濾其他不需要的字符//2.從匹配出來的結果(img標簽中)循環匹配出圖片地址(即src屬性)var str = "this is test string <img src=/"http:yourweb.com/test.jpg/" width='50' > 123 and the end <img src=/"所有地址也能匹配.jpg/" /> 33! <img src=/"/uploads/attached/image/20120426/20120426225658_92565.png/" alt=/"/" />"http://匹配圖片(g表示匹配所有結果i表示區分大小寫)var imgReg = /<img.*?(?:>|//>)/gi;//匹配src屬性var srcReg = /src=[/'/"]?([^/'/"]*)[/'/"]?/i;var arr = str.match(imgReg);alert('所有已成功匹配圖片的數組:'+arr);for (var i = 0; i < arr.length; i++) { var src = arr[i].match(srcReg); //獲取圖片地址 if(src[1]){ alert('已匹配的圖片地址'+(i+1)+':'+src[1]); } //當然你也可以替換src屬性 if (src[0]) { var t = src[0].replace(/src/i, "href"); //alert(t); }}</script>
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.VeVB.COm/regex/javascript
正則表達式在線生成工具:
http://tools.VeVB.COm/regex/create_reg
希望本文所述對大家的javascript程序設計有所幫助。
新聞熱點
疑難解答