jquery转义html字符串,使用jQuery转义HTML字符串
有谁知道一种简单的方法来从jQuery的字符串中转义HTML? 我需要能够传递任意字符串并正确地对其进行转义以显示在HTML页面中(防止JavaScript / HTML注入攻击)。 我敢肯定可以扩展jQuery来做到这一点,但是目前我对框架的了解还不够。#1楼escape()和unescape()用于对URL(而非HTML)的字符串进行编码/解码。实际上,我使用以下代码片段来完成不需要任何框架的
有谁知道一种简单的方法来从jQuery的字符串中转义HTML? 我需要能够传递任意字符串并正确地对其进行转义以显示在HTML页面中(防止JavaScript / HTML注入攻击)。 我敢肯定可以扩展jQuery来做到这一点,但是目前我对框架的了解还不够。
#1楼
escape()和unescape()用于对URL(而非HTML)的字符串进行编码/解码。
实际上,我使用以下代码片段来完成不需要任何框架的技巧:
var escapedHtml = html.replace(/&/g, '&')
.replace(/>/g, '>')
.replace(/
.replace(/"/g, '"')
.replace(/'/g, ''');
#2楼
这是一个干净清晰的JavaScript函数。 它将诸如“几
function escapeHtmlEntities (str) {
if (typeof jQuery !== 'undefined') {
// Create an empty div to use as a container,
// then put the raw text in and get the HTML
// equivalent out.
return jQuery('
}
// No jQuery, so use string replace.
return str
.replace(/&/g, '&')
.replace(/>/g, '>')
.replace(/
.replace(/"/g, '"')
.replace(/'/g, ''');
}
#3楼
function htmlEscape(str) {
var stringval="";
$.each(str, function (i, element) {
alert(element);
stringval += element
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/
.replace(/>/g, '>')
.replace(' ', '-')
.replace('?', '-')
.replace(':', '-')
.replace('|', '-')
.replace('.', '-');
});
alert(stringval);
return String(stringval);
}
#4楼
尝试Underscore.string lib,它与jQuery一起使用。
_.str.escapeHTML('
输出:
'<div>Blah blah blah</div>'
#5楼
var entityMap = {
'&': '&',
'
'>': '>',
'"': '"',
"'": ''',
'/': '/',
'`': '`',
'=': '='
};
function escapeHtml (string) {
return String(string).replace(/[&<>"'`=\/]/g, function (s) {
return entityMap[s];
});
}

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)