我正在尝试解码字符串而不是网址。我试过逃生功能,工作正常。但现在不推荐使用Escape功能
var a = "mysap'fff'"; //it could be any string
var usingEscape = escape(a);
alert(usingEscape);
结果是: mysap%27fff%27 ,这很好
var usingEncodeUri = encodeURI(a);
alert(usingEncodeUri);
结果是: mysap' fff
var usingEncodingUriComponemt = encodeURIComponent(a);
alert(usingEncodingUriComponemt);
结果是: mysap' fff
现在我需要由escape函数给出的结果。任何替代
感谢
答案 0 :(得分:2)
您总是可以构建自己的转义函数,a-la:
function escapeHTML(html) {
return html
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
还有一个可怕的 jQuery方法,虽然它可能不是跨浏览器安全的,并且不会逃避引号或双引号(这使得它有点无用,说实话):
var html = [INSERT SOME HTML HERE];
var escapedHTML = $("div.[SOME DIV]").text(html).html();
tl; dr:使用第一种方法并跳过第二种方法,除非你想要半转义字符串。