就是把一段 string 里面的 <script>alert("a");</script>
换成 &lt;script&gt;alert(&quot;a&quot;);&lt;/script&gt;有个小要求就是 string 里面其它的 html tag 如 <p> <div> 都不要换,只针对 <script>内容而已

解决方案 »

  1.   


    var a='<script>alert("a");<'+'/script>';
    a=a.replace(/<\/?script>/g,function(x){
    return x.replace("<","&lt;").replace(">",'&gt;');
    })
    alert(a);
      

  2.   

    var a='<script>alert("a");<'+'/script>';
    alert(a.replace(/\</g,"&lt;").replace(/\>/g,'&gt;'));
      

  3.   

    还要考虑:<script type="text/javascript">XXOO</script><script type="text/javascript">
        var a='<script type="text/javascript">alert("a");<\/script>';
        a=a.replace(/<\/?script[^>]*>/g,function(x){
            return x.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");
        });
        alert(a);
    </script>
      

  4.   

    <script type="text/javascript">
        var a='<script type="text/javascript">alert("a");<\/script>';
        a=a.replace(/<\/?script[^>]*>/g,function(x){
            return x.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");
        });
    </script>