用Javascript进行HTML转义
?
? 众所周知页面上的字符内容通常都需要进行HTML转义才能正确显示,尤其对于Input,Textarea提交的内容,更是要进行转义以防止javascript注入攻击。? 通常的HTML转义主要是针对内容中的"<",">","&",以及空格、单双引号等。但其实还有很多字符也需要进行转义。具体的可以参考这篇文章。** 1、HTML转义
? 参考上面的提到的文章,基本上可以确定以下的转义的范围和方式。
? 1)对"\""、"&"、"'"、"<"、">"、空格(0x20)、0x00到0x20、0x7F-0xFF? 以及0x0100-0x2700的字符进行转义,基本上就覆盖的比较全面了。??? ?用javascript的正则表达式可以写为:
?? 由此我们可以有反转义的正则表达式:?js.lang.String.call(String.prototype); // 那么 var str = "<B>&'\"中国</B>abc def"; var ec_str = str.encodeHtml(); document.write(ec_str); document.write("<br><br>"); var dc_str = ec_str.decodeHtml(); document.write(dc_str);?