function htmlspecialchars(str)
{
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/"/g, '"');
str = str.replace(/'/g, ''');
return str;
}
//这个版本多转换了一些内容
function htmlspecialchars(str)
{
var s = "";
if (str.length == 0) return "";
for (var i=0; i<str.length; i++)
{
switch (str.substr(i,1))
{
case "<": s += "<"; break;
case ">": s += ">"; break;
case "&": s += "&"; break;
case " ":
if(str.substr(i + 1, 1) == " "){
s += " ";
i++;
} else s += " ";
break;
case "\"": s += """; break;
case "\n": s += "<br>"; break;
default: s += str.substr(i,1); break;
}
}
return s;
}
本文介绍了两个用于HTML实体转义的JavaScript函数实现。这些函数能够将特定的HTML字符转换为相应的HTML实体,有助于防止跨站脚本攻击(XSS)等安全问题。第一个函数采用正则表达式进行替换,而第二个函数则通过循环遍历字符串并根据条件转换字符。
1万+

被折叠的 条评论
为什么被折叠?



