• 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  

  • 相关阅读:
    hdu 4358 Boring counting 夜
    流式读取文件
    文件夹操作
    通过 fs 模块创建下列文件结构练习
    如何判断一个路径是否为文件夹
    文件读取
    写入流写入文件
    文件简单写入
    移动并重名文件,删除文件
    __dirname绝对路径
  • 原文地址:https://www.cnblogs.com/shikyoh/p/3583707.html
Copyright © 2020-2023  润新知