jquery转义html字符串,使用jQuery转义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('

Blah blah blah
')

输出:

'<div>Blah blah blah</div>'

#5楼

var entityMap = {

'&': '&',

'

'>': '>',

'"': '"',

"'": ''',

'/': '/',

'`': '`',

'=': '='

};

function escapeHtml (string) {

return String(string).replace(/[&<>"'`=\/]/g, function (s) {

return entityMap[s];

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值