首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery转义HTML字符串

使用jQuery转义HTML字符串
EN

Stack Overflow用户
提问于 2008-08-24 10:52:42
回答 27查看 719.7K关注 0票数 637

有没有人知道用jQuery从字符串中转义HTML的简单方法?我需要能够传递任意字符串,并将其正确转义以便在HTML页面中显示(防止JavaScript/HTML注入攻击)。我确信有可能通过扩展jQuery来实现这一点,但目前我对框架的了解还不够多。

EN

Stack Overflow用户

发布于 2015-07-26 22:02:44

2个不需要JQUERY的简单方法...

您可以对字符串中的所有字符进行编码,如下所示:

代码语言:javascript
运行
复制
function encode(e){return e.replace(/[^]/g,function(e){return"&#"+e.charCodeAt(0)+";"})}

或者只是针对主要人物来担心&,换行符,<>"',比如:

代码语言:javascript
运行
复制
function encode(r){
return r.replace(/[\x26\x0A\<>'"]/g,function(r){return"&#"+r.charCodeAt(0)+";"})
}

var myString='Encode HTML entities!\n"Safe" escape <script></'+'script> & other tags!';

test.value=encode(myString);

testing.innerHTML=encode(myString);

/*************
* \x26 is &ampersand (it has to be first),
* \x0A is newline,
*************/
代码语言:javascript
运行
复制
<p><b>What JavaScript Generated:</b></p>

<textarea id=test rows="3" cols="55"></textarea>

<p><b>What It Renders Too In HTML:</b></p>

<div id="testing">www.WHAK.com</div>

票数 3
EN
查看全部 27 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档