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

时间:2015-07-02 09:04:55

标签: javascript utf-8 escaping character

我的目标是在输入中显示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

1 个答案:

答案 0 :(得分:1)

您可以创建一个放置HTML的元素,然后您可以使用.text()获取格式化结果,例如:

input.val($("<div>", {html:"Sarah O&#39;Connor"}).text())