解决方案 »

  1.   

    <textarea id="t"><ul class="w45">
    <li onclick="re()">1123455678</li>
    <li id="eerta">rrrrrr332</li>
    </ul>
    <script>
        alert(123);
    </script></textarea>
    <script>
        var v = document.getElementById('t').value;
        alert(v);
        v = v.replace(/<(\/?[a-z\d]+) ?[^>]*>/gi, '<$1>');
        alert(v);
    </script>
      

  2.   

    版主来激动啊   
    <textarea id="t"><ul class="w45">
    <li onclick="re()">1123455678</li>
    <li id="eerta">rrrrrr332</li>
    </ul>
    <script>
        alert(123);
    </script></textarea>
    <script>
        var v = document.getElementById('t').value;
        alert(v);
        v = v.replace(/<(\/?[a-z\d]+) ?[^>]*>/gi, '<$1>');
        alert(v);
    </script>
    替换后要如下<ul>
    <li>1123455678</li>
    <li>rrrrrr332</li>
    </ul>
    <script>
        alert(123);
    </script>还要html,只去除class="w45"|onclick="re()"|id="eerta"|和空格感谢
      

  3.   

    那你这不就是很普通的替换呀.replace()就是了.前后描述不一,是人都晕你
      

  4.   

    可写成正则不简单啊,<li 这里有多种事件属性等很多内容>123</li>正则后干净<li>123</li>
      

  5.   

    "<li class='abcd' onclick='abc()'>123</li>".replace(/\s+.*=.*\(?\)?["|']/,"")
    自己搞定了,没想到自己正则水平不知不觉提高了,谢谢
      

  6.   

    自己能尝试并解决是最好不过了
    不过,之前版主的不是也达到你要的效果了么?
    "<li class='abcd' onclick='abc()'>123</li>".replace(/<(\/?[a-z\d]+) ?[^>]*>/gi, '<$1>')个人对正则不太熟悉,所以优劣不好评价,但显然版主提供的要更好理解,且容错性要好.你自己的正则,如果是碰上这些属性值没有用"或'括起来的就替换不了
    "<li class='abcd' onclick=abc()>123</li>".replace(/\s+.*=.*\(?\)?["|']/,"")
      

  7.   

    感谢阿,现在刚刚入门正则,一直不认真学,我又改进了些
    \s+\w*=['|"]?[\(\)a-z0-9A-Z_:'<>\/]*[^>]
    '<ul><li onclick="javascript:eval(\'<script>alert()</script>\')" enlo="abcd()">2132323</li></ul>'.replace(/\s+\w*=['|"]?[\(\)a-z0-9A-Z_:'<>\/]*[^>]/gim,"")
    请大大给斧正
      

  8.   

    之前看不懂版主<$1>替换法,惭愧啊经你怎么解释明白了点,还是感谢你的耐心帮助。