new RegExp('<s' + 'cript>[\S\s]*?</s' + 'cript>', "ig");
/style=(?:'[^']*'|"[^"]*")/ig;
/class=(?:'[^']*'|"[^"]*"|[^"' ]*)/ig;
都没有测试

解决方案 »

  1.   

    new RegExp('<s' + 'cript>[\\S\\s]*?<\\/s' + 'cript>|', "ig");
      

  2.   

    <textarea id="wc">
    class="class1"
    class='class1'
    class=class1
    class="class1 detail1"style="display:none"
    style="border:color;font-size:9pt"
    <script language="javascript">
    function init()
    {
    alert("init");
    }
    </script>
    <body onload="init()">
    ...
    </body>
    <script>
    alert("page loaded.");
    </script>
    </textarea>
    <script type="text/javascript">
    var p = new RegExp('<s' + 'cript[^>]*>[\\S\\s]*?<\\/s' + 'cript>|style=(?:\'[^\']*\'|"[^"]*")|class=(?:\'[^\']*\'|"[^"]*"|[^"\'\\s]*)', "ig");
    window.onload = function () {
    alert(document.getElementById("wc").value.replace(p, ""));
    };
    </script>
      

  3.   

    这个script的替换不全啊,如何应对script language="javascript"的情况,而且如果一个页面同时出现多个script标记,如何替换呢?
      

  4.   

    嘻嘻, 對於這類問題, DOM 是最佳選擇, 可以無錯解決...
      

  5.   

    var p = new RegExp('<s' + 'cript[^>]*>[\\S\\s]*?<\\/s' + 'cript>|\\s*(?:style|class|onload)=(?:\'[^\']*\'|"[^"]*"|[^"\'\\s]*)', "ig");
    这个连onload也给kill了。。
    怎么不全了?俩script都给kill了你测试我写的code了么?把那个式子换成这个。。就成了。。
      

  6.   

    发现个小问题,当出现<table width="450" align="center"  border="1" style="display:block" class=class1>的时候,最后的">"也一并过滤掉了
      

  7.   

    var p = new RegExp('<s' + 'cript[^>]*>[\\S\\s]*?<\\/s' + 'cript>|\\s*(?:style|class|onload)=(?:\'[^\']*\'|"[^"]*"|.*?(?=\\s|\\/?>))', "ig");
    换这个