html decode 在线,在js中使用htmlEncode和htmlDecode
html的encode以及decode也是在开发中经常遇到的事情,比如针对表单的处理,当用户输入的内容包含html标签时,为了安全起见,提交到后台之前需要进行encode处理,即把类似<div>的内容转义为<div>。
下面就来具体看一下如何实现html的encode以及decode,这里将分别用html dom、js正则匹配、jquery这三种方法实现。
1、通过html dom实现
这里主要是通过document对象创建元素,然后把需要操作的字符串以不同的方式“写进”元素内,最后再通过innerHTML或者textContent(innerText)方法获取处理后的字符串。(注意textContent与innerText的区别)function htmlEncode ( str ) {
var ele = document.createElement('span');
ele.appendChild( document.createTextNode( str ) );
return ele.innerHTML;
}
function htmlDecode ( str ) {
var ele = document.createElement('span');
ele.innerHTML = str;
return ele.textContent || ele.innerText;
}
2、js正则匹配实现
在处理的过程中通过replace方法来对标签及html实体进行互相替换。function htmlEncode ( str ) {
var _str = '';
if ( str.length == 0 ) return '';
_str = str .replace(/&/g, '&');
_str = _str.replace(//g, '>');
return _str;
}
function htmlDecode ( str ) {
var _str = '';
if ( str.length == 0 ) return '';
_str = str .replace(/&/g, '&');
_str = _str.replace(/
_str = _str.replace(/>/g, '>');
_str = _str .replace(/"/g, '"');
return _str;
}
3、通过jQuery内置的html()方法及text()方法实现
这里实现起来就很简单了,如decode:通过$(‘’)创建标签,然后再把需要处理的字符串通过html()方法“写进”span元素中,最后再用text()获取就得到了decode后的内容。function htmlEncodeJQ ( str ) {
return $('').text( str ).html();
}
function htmlDecodeJQ ( str ) {
return $('').html( str ).text();
}
(本文由BeyondWeb.cn原创,转载请注明出处并保留原文链接)
html decode 在线,在js中使用htmlEncode和htmlDecode相关推荐
- 【C#】C#中的HtmlEncode与HtmlDecode:HttpUtility.HtmlEncode,Server.HtmlEncode,WebUtility.HtmlEncode
HtmlEncode(String) 将字符串转换为 HTML 编码字符串. HtmlDecode(String) 将已经为 HTTP 传输进行过 HTML 编码的字符串转换为已解码的字符串. 在we ...
- 兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例[转]
兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例,因为这个在在线编辑器和Ajax中经常用到,所以封装成函数可以直接调用,希望对大家有帮助. <html><h ...
- 疯狂的html css,疯狂Html+CSS+JS 中JS总结
0 总结 本书的JS 第一章有讲语法有挺多常见的坑点和原理解释很不错 第二章DOM编程讲述了挺多API 第三章事件处理机制其实对事件中的this关键字和事件传播顺序讲4. 解还不错 第四章WebSto ...
- js中应用protocol buffer
前段时间公司项目需要用到protocol buffer数据传输协议,这是什么东西,根本没接触过,好好的json干嘛不用?怀着好奇心去了解学习,最后顺利运用.下面是一些是经验,希望能帮到一些人. 首先我 ...
- js中WINDOW对象中的navigator成员对象
js中DOM, DOCUMENT, BOM, WINDOW 区别 全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js中WINDOW对象中的navigator成员对象 naviga ...
- 在 Node.js 中操作 Redis
在 Node.js 中操作 Redis Node.js 中可以操作 Redis 的软件包推荐列表:https://redis.io/clients#nodejs. 推荐下面两个: node-redis ...
- JS中的DOM与BOM
一.Javascript组成 JavaScript的实现包括以下3个部分: ECMAScript(核心) 描述了JS的语法和基本对象. 文档对象模型 (DOM) 处理网页内容的方法和接口 浏览器对象模 ...
- JS中页面跳转,传值包含中文时乱码解决方案
首先,在JS中将要传递的中文编码:encodeURI(encodeURI(value)): 然后在跳转界面中取值时通过以下方式解码:java.net.URLDecoder.decode(value , ...
- JS中的函数定义方式及全局函数
一.定义方式 方式一用 function定义 定义匿名函数,匿名函数可以被当作参数传递,不需要加入括号 通过内置的function的对象创建函数 <!DOCTYPE html> <h ...
最新文章
- vMware vSphere 5.0发布时间
- 奇思妙想——我心中的智能自行车
- android 线性布局 底部,java – 如何在android线性布局中对齐父底部?
- 关于Crypto.PublicKey.RSA,在generate后无法被赋值问题
- yum安装php5.6 nginx,CentOS 7 yum安装 Nginx1.16 + MySQL5.5 PHP5.6
- 如何找出SAP Fiori launchpad URL start_up请求发起的具体位置
- [转载] C++ 中的浮点代码优化
- python psutil 进行系统管理 no.2
- Stack Overflow 2017 开发者调查报告(程序员必看)
- java.util.concurrent.atomic.AtomicBoolean 源码
- exfat最佳单元大小_回音壁构造和单元相关的个人看法
- 如何获取用户的微信openid
- 数据库MySQL(基础六)
- 好用全面的电商评论文本情感分析实战教程
- iOS 内购 payment.applicationUsername 的坑
- php 文章页面阅读全文,纯代码为WordPress文章内容页增加阅读全文展开功能
- 文章导引—Jeremy
- 第一次博客(比特虫):网站favicon.ico图标介绍,制作
- SpringBoot——什么是SpringBoot、SpringBoot入门、创建SpringBoot
- 【SpringBoot】SpringBoot三层开发
热门文章
- 简单分享怎么开发自己的微信小程序_微信小程序快速制作步骤
- Spring AOP 的实现
- 关于Ubuntu中Firefox浏览器提示“代理服务器拒绝连接”的解决办法
- 深度学习 Fine-tune 技巧
- 【UE4闪退解决办法】D3D设备丢失,Unreal Engine is exiting due to D3D device being lost
- 找不到引用microsoft.office.core解决办法
- vue中页面刷新执行哪个钩子函数使用vue钩子函数mounted
- 实习项目(APP线上活动页面)
- 对于新手做网赚来说,我有几个建议!
- 子沐教你Scrapy——浅谈Python爬虫