js转html实体
方法一:
用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText,然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串。
function HTMLEncode ( input ) 
{ 
var converter = document.createElement("DIV"); 
converter.innerText = input; 
var output = converter.innerHTML; 
converter = null; 
return output; 
}
当
然,还可以用相同的方法实现对字符串的HTMLDecode解码,但有个问题就是紧跟在字符" <"后面的非空字符将连同字符"
<"同时显示不出来。当然,对字符串作相应处理是可以解决这个问题的,比如在字符"
<"后面加个空格,解码后再去掉就行,这是后话。毕竟,要使用
HTMLDecode方法解码,自然是字符串已经经过HTMLEncode方法编码了,而经过HTMLEncode编码后的字符串,是不可能有字符 "
<"存在的。
function HTMLDecode ( input ) 
{ 
var converter = document.createElement("DIV"); 
converter.innerHTML = input; 
var output = converter.innerText; 
converter = null; 
return output; 
}
方法二: 
<script    language=javascript>
function    HTMLEnCode(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    HTMLDeCode(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;  
  }  
  </script>
js转html实体的更多相关文章
- JS对HTML实体字符转义和反转义
		一.名词解释 HTML实体字符: 由于在HTML中有些符号是预留的,比如在html中不能直接使用尖括号(‘<’或‘>’),会被误认为标签符号.所以需要通过HTML实体字符去进行替换: HT ... 
- 字符串js编码转换成实体html编码的方法(防范XSS攻击)
		js代码在html页面中转换成实体html编码的方法一: <!DOCTYPE html><html> <head> <title>js代码转换成实 ... 
- Dynamics CRM 2011编程系列(60):JS编程之CRUD辅助类(JQuery版)
		今天给大家分享一个JQuery版的REST辅助类,在一年前我分享过一个只能在IE环境下运行的REST辅助类:<JS编程之实体CRUD辅助类 >.为什么要推出JQuery版的CRUD辅助类呢 ... 
- Ext.js高级组件
		第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ... 
- Dynamic CRM使用FetchXML在js中查询与调用传递编码问题
		在页面交互脚本js中实现窗体交互逻辑是很常见的crm场景,一般情况下使用拓展工具RESTBuilder编辑器,可以很方便的进行操作,增删改查均能实现,但在某些较为特殊的场景下,需要根据条件去拼接查询过 ... 
- nodejs(一) 简单登录验证 使用mongoose 操作MongoDB
		---恢复内容开始--- 开发使用webstorm 9 新建nodejs+express 项目 newfarmer 文章目录 配置Mongoose 创建目录及文件 插入数据,POST提交JSON增加 ... 
- ProGuard详解
		综述 对于ProGuard工具想必我们都不陌生,它能够通过移除无用代码,使用简短无意义的名称来重命名类,字段和方法.从而能够达到压缩.优化和混淆代码的目的.最终我们会获取一个较小的apk文件,并且我们 ... 
- Android proguard-rules.pro 混淆模板
		在../sdk/tools/proguard/目录下,其中包含了android最基本的混淆 ..\proguard-rules.pro 混淆文件配置模板: ############# 混淆模板 ## ... 
- 搭建简单的node+express+mongodb项目
		安装 首先要确保已经安装了 Node.js,接下来创建一个目录,然后进入此目录并将其作为当前工作目录. mkdir myapp cd myapp 通过 npm init 命令为应用创建一个 packa ... 
随机推荐
- paip. 定时 关机 休眠 的总结
			paip. 定时 关机 休眠 的总结 //////////////////title bat shell 批处理日期时间的使用比较. bat shell 批处理if else 多行.. 作者Attil ... 
- EntityFramework IEnumerable,IQueryable ,Include
			使用IQueryable using (var db = new CentaStaffEntities()) { IQueryable<Staff> queryablestaffs = d ... 
- IOS行货自动打包
			通常打包采用xcodebuild和xcrun两个命令,xcodebuild负责编译,xcrun负责将app打成ipa. 常见步骤如下: 1.清理工程 /usr/bin/xcodebuild -ta ... 
- CSS揭秘读书笔记	(一)
			CSS揭秘读书笔记 (一) 一.半透明边框 要想实现半透明边框可以使用border: border: 10px solid hsla(0,0%,100%,.5); background: ... 
- QT210 Android4.0源码编译和烧录文档整理
			开发环境说明: Ubuntu 12.04 LTS 32bit 源码文件目录: 勤研光盘2013-5-4\4.0 https://github.com/jackyh (建议在Linux环境下通过git下 ... 
- nginx 配置其他路径
			gedit /etc/nginx/sites-enabled/default location /hlstest { types { application/vnd.apple.mpegurl m3u ... 
- 最新版ffmpeg源码分析
			最新版ffmpeg源码分析一:框架 (ffmpeg v0.9) 框架 最新版的ffmpeg中发现了一个新的东西:avconv,而且ffmpeg.c与avconv.c一个模样,一研究才发现是libav下 ... 
- SQL Server-游标使用
			IF EXISTS(SELECT *FROM sysobjects WHERE name='sp_ContestSubmit') DROP PROC sp_ContestSubmit GO -- == ... 
- C++实现单例模式
			昨天面试的时候,面试官让我用C++或Java实现一个单例模式. 因为设计模式是在12年的时候学习过这门课,而且当时觉得这门课很有意思,所以就把课本读了几遍,所以印象比较深刻,但是因为实际编程中很少注意 ... 
- EXCELL中怎么将两列数据对比,找出相同的和不同的数据?
			假设你要从B列中找出A列里没有的数据,那你就在C1单元格里输入“=IF(ISNA(VLOOKUP(B1,A:A,1,0)),"F","T")”显示T就表示有,F ... 
