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返回的数组不是 多个Img对象,而是

["<img src="/11.jpg" target-type='replace' />", "'", "'"]
不明白。。。。
 
后来验证是我的错,正则中 有g配置,是否下移至下一个目标。
 
正确
  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表示要搜索字符串出现的,而不是找到第一个匹配后就停止。如果还要模式不区分大小写
  ,可以给第二个参数添加字符 i  

转载于:https://www.cnblogs.com/shikyoh/p/3583707.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值