utf 8-在JavaScript中正确转义输入值中的字符

utf 8 - Properly escape characters in input value in JavaScript

本文关键字:输入 字符 转义 JavaScript utf      更新时间:2023-09-26

我的目标是在输入中显示Sarah O'Connor作为值。我需要转义Sarah O' Connor以显示正确的UTF-8 html字符。

我看到了一些答案,建议替换每个单独的特殊字符。但这肯定不是正确的方式,因为世界各地的人名中可能有数百个字符。

我还尝试了javascript 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&#39;Connor"}).text())