JS及JQuery对Html内容编码,Html转义
来源:互联网 发布:浪潮云会计软件 编辑:程序博客网 时间:2024/05/19 22:24
原文 http://blog.csdn.net/phantomes/article/details/26570113
/** JQuery Html Encoding、Decoding* 原理是利用JQuery自带的html()和text()函数可以转义Html字符* 虚拟一个Div通过赋值和取值来得到想要的Html编码或者解码*/<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><script type="text/javascript">//Html编码获取Html转义实体function htmlEncode(value){ return $('<div/>').text(value).html();}//Html解码获取Html实体function htmlDecode(value){ return $('<div/>').html(value).text();}</script>
//编码 function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, ">"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/\'/g, "'"); s = s.replace(/\"/g, """); s = s.replace(/\n/g, "<br>"); return s; } //解码 function html_decode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/>/g, "&"); s = s.replace(/</g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/'/g, "\'"); s = s.replace(/"/g, "\""); s = s.replace(/<br>/g, "\n"); return s; }
比如有这样的hltml代码:
<a id="pcmobile" class="" " href="javascript:void(0);">PC&MOBILE</a><aid="test" href="javascript:void(0);"><</a>如果直接用$("#pcmobile").html()方法,那取得的值默认被浏览器转义了,原来的&变成了&。所以a标签里面的值变成PC&MOBILE。同样的,<被转义成<,>被转义成>。有时候为了防止xss注入,这种转义是有必要的,但是,如果不想被转义,解决方案很简单,不用html()方法 ,改成text()方法就行了.如$("#pcmobile").text()。
部分字符转义如下:
- &符号:"&", "&"
- 双引号:"\"", """
- 小于号:"<", "<"
- 大于号:">", ">"
- 单引号:"'", "'"
0 0
- JS及JQuery对Html内容编码,Html转义
- JS及JQuery对Html内容编码,Html转义
- JS及JQuery对Html内容编码,Html转义
- (跨站漏洞转义)JS及JQuery对Html内容编码,Html转义
- JS编码&解码&HTML转义
- JS对HTML进行转义
- JS对HTML字符的转义和反转义
- Angular.js数据绑定时自动转义html标签及内容
- Angular.js数据绑定时自动转义html标签及内容
- Angular.js数据绑定时自动转义html标签及内容
- 详解Angular.js数据绑定时自动转义html标签及内容
- JS转义HTML转义符
- JS实现HTML标签转义及反转义
- HTML JS转义字符
- HTML JS转义字符
- html 转义js
- JS HTML转义字符
- js和html转义
- POJ 3258 River Hopscotch(贪心+二分查找 最大化最小值)
- 利用chart函数实现折线图
- 亿起发接口
- Fresco简单的使用—SimpleDraweeView
- 操作技巧:将 Spark 中的文本转换为 Parquet 以提升性能
- JS及JQuery对Html内容编码,Html转义
- mongodb集群安装,一主二从,replica_set
- Python列表或字典中有UTF-8的中文时输入
- 伙伴系统的概述 (一)
- 在Android中生成HMAC-SHA1 签名
- IT专业人士如何高效的学习专业知识
- 设计模式——依赖倒置原则
- android 获取屏幕高度和宽度的方法
- 使用omniORBpy开发简单CORBA程序