js替换,原来是所有的js都替换掉了
str = str.replace(/<script[^\>]*?>([^\x00]*?)<\/script>/ig, '');现在想改成,只要是<script src='http://www.abc.com......'> 只要是含有www.abc.com的连接的都保留,其它的去掉,请问怎么实现

解决方案 »

  1.   

    str = str.replace(/<script[^\>]*?>([^\x00]*?)<\/script>/ig, function(v)
    {
    if(v.Contains('www.abc.com')) return v;
    else return '';
    });C#可直接通过正则来实现:<script[^>]*?src='(?!http://www\.abc\.com[^']+)[^']+'[^>]*?>可惜JS正则不支持零宽度负预测先行断言
      

  2.   

    str = str.replace(/<script[^\>]*?>([^\x00]*?)<\/script>/ig, function(v)
    {
    if(v.indexof('www.abc.com')>0) return v;
    else return '';
    });C#可直接通过正则来实现:<script[^>]*?src='(?!http://www\.abc\.com[^']+)[^']+'[^>]*?>可惜JS正则不支持零宽度负预测先行断言
      

  3.   


    str = str.replace(/<script((?!www\.abc\.com)[^>])*?>[^<]*?<\/script>/ig, '');