2012-08-07 82 views
2

我有一個<p>標記,它從文本區域更新.keyup轉義jquery更新div

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

     }); 

我該如何轉義用戶輸入的javascript。

我不想逃避HTML只是JavaScript。

+0

現在檢查答案,我已更新代碼以匹配 – Francesc 2012-08-07 16:14:33

回答

3

而不是使用

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

的,你可以使用

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

這是一個function內的jQuery是automatticaly逃脫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()返回

設置