本文實例講述了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=\"\" />" //匹配圖片(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.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家的javascript程序設計有所幫助。