本文實(shí)例講述了JS正則獲取HTML元素的方法。分享給大家供大家參考,具體如下:
var html = $("#summaryTemplate").html();var imageMath = /<img [^<,>]*(?=target-type=("|')replace("|'))[^/,<,>]*//>/;var scriptMath = /<script [^<,>]*(?=target-type=("|')replace("|'))[^/,<,>]*><//script>/;var linkMath = /<link [^<,>]*(?=target-type=("|')replace("|'))[^/,<,>]*//>/;alert(html.match(imageMath));var ht="<img src='/11.jpg' target-type='replace' />asf <img src='/12.jpg' target-type='replace' /> <img src='/13.jpg' target-type='replace' />";ht.match(imageMath)為什么Math返回的數(shù)組不是 多個(gè)Img對(duì)象,而是
["<img src="/11.jpg" target-type='replace' />", "'", "'"]
不明白。。。。
后來驗(yàn)證是我的錯(cuò),正則中 有g(shù)配置,是否下移至下一個(gè)目標(biāo)。
正確
var attrbuteMath = "(?://w+)//s*(?:=[^{,},<,>]+)";var srcMath = "src(?:=[^{,},<,>]+)";var hrefMath = "href(?:=[^{,},<,>]+)";var scriptMath = "<script//s+(?:" + attrbuteMath + ")*><//script>";var ge = new RegExp(scriptMath,"gi");// var html = "<script asdfsadf='asdfsaf' asf=aaadsdfsdf style='' src='' ><//script>asdfsaf<script asdfsadf='asdfsaf' asf=''aa adsdfsdf ><//script>";var html = $("#txtHtml").val();var result = ge.exec(html);alert(result);g表示要搜索字符串出現(xiàn)的,而不是找到第一個(gè)匹配后就停止。如果還要模式不區(qū)分大小寫,可以給第二個(gè)參數(shù)添加字符 i
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.VeVB.COm/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.VeVB.COm/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錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注