0

我正在尝试解码字符串而不是 URL。我尝试了运行正常的转义功能。但是现在不推荐使用 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

现在我需要由转义函数给出的结果。任何相同的替代品

谢谢

4

1 回答 1

2

您总是可以构建自己的转义函数,a-la:

function escapeHTML(html) {
    return html
         .replace(/&/g, "&")
         .replace(/</g, "&lt;")
         .replace(/>/g, "&gt;")
         .replace(/"/g, "&quot;")
         .replace(/'/g, "&#039;");
 }

还有一个糟糕的jQuery 方法,尽管它可能不是跨浏览器安全的,并且不会转义引号或双引号(老实说,这使得它有点没用):

var html = [INSERT SOME HTML HERE];
var escapedHTML = $("div.[SOME DIV]").text(html).html();

tl; dr:除非您想要半转义字符串,否则请使用第一种方法并跳过第二种方法。

于 2015-05-20T04:55:22.167 回答