簡體   English   中英

我將如何清理這個字符串? (最好在 JQuery 中)?

[英]How would I sanitize this string? (preferably in JQuery)?

我有一個網頁,人們在其中將內容輸入到文本框中,並在其下方顯示該文本。 而已。 沒有服務器端。

假設有人鍵入<script src="blah">hello</script>

我想將其顯示為文本。 當然,不是作為腳本。 我該怎么做(全部在 javascript 中)?

我想顯示整個文本。 不要將標簽剔除。

$('div.whatever').text($('input.whatever').val());

這會將事物轉換為 HTML 實體,因此它們會在鍵入時顯示,而不是被視為標記。

如果要在元素中顯示,可以使用text方法 它將為您逃脫所有 HTML。

你可以在這里看到一個例子。

<input type="text" onkeyup="$('#outputDiv').text($(this).val());" />
<div id="outputDiv"></div>

使用 JQuery 通常清理任何字符串的快速方法是創建一個臨時元素,使用text方法設置文本內容,然后再次使用text檢索轉義文本。

const unsanitized = '<script>alert()></script>'

// Outputs '<\script>alert()><\/script>'
const sanitized = $("<p>").text(unsanitized).text() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM