2

我有一个从文本区域<p>更新的标签。.keyup

$("textarea").keyup(function(e) {
            var newtext = $("textarea").val().replace(/\n/g,'<br/>');
            $("p").html(newtext);

        });

如何转义用户输入的 javascript。

我不想只转义 html 的 javascript。

4

1 回答 1

3

而不是使用

$("p").html(newtext);

你可以使用

$("p").text(newtext);

它是 jQuery 中的一个函数,可以自动转义 HTML。

编辑:

如果你只是想逃避 JS,你可以这样做:


var a = "<b>This</b><script>aaa</script>";
var escapeHTML = function(a) {
    return a.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
}

a.replace(re, function (_a){return escapeHTML(_a)});

并使用 .html() 设置 a.replace() 返回的字符串

于 2012-08-07T15:55:35.183 回答