在 JavaScript 中正确转义输入值中的字符
Properly escape characters in input value in JavaScript
我的目标是在输入中显示 Sarah O'Connor
作为值。我需要转义 Sarah O' Connor
以显示正确的 UTF-8 html 字符。
我看到一些建议替换每个特殊字符的答案。但这肯定不是正确的方法,因为世界各地的人名中可能有数百个字符。
我也尝试过 javascripts escape()
/ unescape()
和 encodeURI()
/ decodeURI()
函数,但它们只能作为 html 文本而不是输入值。
请在此处查看 jsFiddle:
http://jsfiddle.net/gHHzA/
var div = $("#my-div");
var input = $("input");
var str = "Sarah O'Connor";
div.html(str); //--> Sarah O'Connor
input.val(str); //--> Sarah O'Connor
您可以创建一个元素来放置HTML,然后您可以得到.text()
的格式化结果,例如:
input.val($("<div>", {html:"Sarah O'Connor"}).text())
我的目标是在输入中显示 Sarah O'Connor
作为值。我需要转义 Sarah O' Connor
以显示正确的 UTF-8 html 字符。
我看到一些建议替换每个特殊字符的答案。但这肯定不是正确的方法,因为世界各地的人名中可能有数百个字符。
我也尝试过 javascripts escape()
/ unescape()
和 encodeURI()
/ decodeURI()
函数,但它们只能作为 html 文本而不是输入值。
请在此处查看 jsFiddle: http://jsfiddle.net/gHHzA/
var div = $("#my-div");
var input = $("input");
var str = "Sarah O'Connor";
div.html(str); //--> Sarah O'Connor
input.val(str); //--> Sarah O'Connor
您可以创建一个元素来放置HTML,然后您可以得到.text()
的格式化结果,例如:
input.val($("<div>", {html:"Sarah O'Connor"}).text())