// HtmlDecode http://lab.msdn.microsoft.com/annotations/htmldecode.js
// client side version of the useful Server.HtmlDecode method
// takes one string (encoded) and returns another (decoded)
function HtmlDecode(s) {
var out = "";
if (s == null) return; var l = s.length;
for (var i = 0; i < l; i++) {
var ch = s.charAt(i); if (ch == '&') {
var semicolonIndex = s.indexOf(';', i + 1); if (semicolonIndex > 0) {
var entity = s.substring(i + 1, semicolonIndex);
if (entity.length > 1 && entity.charAt(0) == '#') {
if (entity.charAt(1) == 'x' || entity.charAt(1) == 'X')
ch = String.fromCharCode(eval('0' + entity.substring(1)));
else
ch = String.fromCharCode(eval(entity.substring(1)));
}
else {
switch (entity) {
case 'quot': ch = String.fromCharCode(0x0022); break;
case 'amp': ch = String.fromCharCode(0x0026); break;
case 'lt': ch = String.fromCharCode(0x003c); break;
case 'gt': ch = String.fromCharCode(0x003e); break;
case 'nbsp': ch = String.fromCharCode(0x00a0); break;
case 'iexcl': ch = String.fromCharCode(0x00a1); break;
case 'cent': ch = String.fromCharCode(0x00a2); break;
case 'pound': ch = String.fromCharCode(0x00a3); break;
case 'curren': ch = String.fromCharCode(0x00a4); break;
case 'yen': ch = String.fromCharCode(0x00a5); break;
case 'brvbar': ch = String.fromCharCode(0x00a6); break;
case 'sect': ch = String.fromCharCode(0x00a7); break;
case 'uml': ch = String.fromCharCode(0x00a8); break;
case 'copy': ch = String.fromCharCode(0x00a9); break;
case 'ordf': ch = String.fromCharCode(0x00aa); break;
case 'laquo': ch = String.fromCharCode(0x00ab); break;
case 'not': ch = String.fromCharCode(0x00ac); break;
case 'shy': ch = String.fromCharCode(0x00ad); break;
case 'reg': ch = String.fromCharCode(0x00ae); break;
case 'macr': ch = String.fromCharCode(0x00af); break;
case 'deg': ch = String.fromCharCode(0x00b0); break;
case 'plusmn': ch = String.fromCharCode(0x00b1); break;
case 'sup2': ch = String.fromCharCode(0x00b2); break;
case 'sup3': ch = String.fromCharCode(0x00b3); break;
case 'acute': ch = String.fromCharCode(0x00b4); break;
case 'micro': ch = String.fromCharCode(0x00b5); break;
case 'para': ch = String.fromCharCode(0x00b6); break;
case 'middot': ch = String.fromCharCode(0x00b7); break;
case 'cedil': ch = String.fromCharCode(0x00b8); break;
case 'sup1': ch = String.fromCharCode(0x00b9); break;
case 'ordm': ch = String.fromCharCode(0x00ba); break;
case 'raquo': ch = String.fromCharCode(0x00bb); break;
case 'frac14': ch = String.fromCharCode(0x00bc); break;
case 'frac12': ch = String.fromCharCode(0x00bd); break;
case 'frac34': ch = String.fromCharCode(0x00be); break;
case 'iquest': ch = String.fromCharCode(0x00bf); break;
case 'Agrave': ch = String.fromCharCode(0x00c0); break;
case 'Aacute': ch = String.fromCharCode(0x00c1); break;
case 'Acirc': ch = String.fromCharCode(0x00c2); break;
case 'Atilde': ch = String.fromCharCode(0x00c3); break;
case 'Auml': ch = String.fromCharCode(0x00c4); break;
case 'Aring': ch = String.fromCharCode(0x00c5); break;
case 'AElig': ch = String.fromCharCode(0x00c6); break;
case 'Ccedil': ch = String.fromCharCode(0x00c7); break;
case 'Egrave': ch = String.fromCharCode(0x00c8); break;
case 'Eacute': ch = String.fromCharCode(0x00c9); break;
case 'Ecirc': ch = String.fromCharCode(0x00ca); break;
case 'Euml': ch = String.fromCharCode(0x00cb); break;
case 'Igrave': ch = String.fromCharCode(0x00cc); break;
case 'Iacute': ch = String.fromCharCode(0x00cd); break;
case 'Icirc': ch = String.fromCharCode(0x00ce); break;
case 'Iuml': ch = String.fromCharCode(0x00cf); break;
case 'ETH': ch = String.fromCharCode(0x00d0); break;
case 'Ntilde': ch = String.fromCharCode(0x00d1); break;
case 'Ograve': ch = String.fromCharCode(0x00d2); break;
case 'Oacute': ch = String.fromCharCode(0x00d3); break;
case 'Ocirc': ch = String.fromCharCode(0x00d4); break;
case 'Otilde': ch = String.fromCharCode(0x00d5); break;
case 'Ouml': ch = String.fromCharCode(0x00d6); break;
case 'times': ch = String.fromCharCode(0x00d7); break;
case 'Oslash': ch = String.fromCharCode(0x00d8); break;
case 'Ugrave': ch = String.fromCharCode(0x00d9); break;
case 'Uacute': ch = String.fromCharCode(0x00da); break;
case 'Ucirc': ch = String.fromCharCode(0x00db); break;
case 'Uuml': ch = String.fromCharCode(0x00dc); break;
case 'Yacute': ch = String.fromCharCode(0x00dd); break;
case 'THORN': ch = String.fromCharCode(0x00de); break;
case 'szlig': ch = String.fromCharCode(0x00df); break;
case 'agrave': ch = String.fromCharCode(0x00e0); break;
case 'aacute': ch = String.fromCharCode(0x00e1); break;
case 'acirc': ch = String.fromCharCode(0x00e2); break;
case 'atilde': ch = String.fromCharCode(0x00e3); break;
case 'auml': ch = String.fromCharCode(0x00e4); break;
case 'aring': ch = String.fromCharCode(0x00e5); break;
case 'aelig': ch = String.fromCharCode(0x00e6); break;
case 'ccedil': ch = String.fromCharCode(0x00e7); break;
case 'egrave': ch = String.fromCharCode(0x00e8); break;
case 'eacute': ch = String.fromCharCode(0x00e9); break;
case 'ecirc': ch = String.fromCharCode(0x00ea); break;
case 'euml': ch = String.fromCharCode(0x00eb); break;
case 'igrave': ch = String.fromCharCode(0x00ec); break;
case 'iacute': ch = String.fromCharCode(0x00ed); break;
case 'icirc': ch = String.fromCharCode(0x00ee); break;
case 'iuml': ch = String.fromCharCode(0x00ef); break;
case 'eth': ch = String.fromCharCode(0x00f0); break;
case 'ntilde': ch = String.fromCharCode(0x00f1); break;
case 'ograve': ch = String.fromCharCode(0x00f2); break;
case 'oacute': ch = String.fromCharCode(0x00f3); break;
case 'ocirc': ch = String.fromCharCode(0x00f4); break;
case 'otilde': ch = String.fromCharCode(0x00f5); break;
case 'ouml': ch = String.fromCharCode(0x00f6); break;
case 'divide': ch = String.fromCharCode(0x00f7); break;
case 'oslash': ch = String.fromCharCode(0x00f8); break;
case 'ugrave': ch = String.fromCharCode(0x00f9); break;
case 'uacute': ch = String.fromCharCode(0x00fa); break;
case 'ucirc': ch = String.fromCharCode(0x00fb); break;
case 'uuml': ch = String.fromCharCode(0x00fc); break;
case 'yacute': ch = String.fromCharCode(0x00fd); break;
case 'thorn': ch = String.fromCharCode(0x00fe); break;
case 'yuml': ch = String.fromCharCode(0x00ff); break;
case 'OElig': ch = String.fromCharCode(0x0152); break;
case 'oelig': ch = String.fromCharCode(0x0153); break;
case 'Scaron': ch = String.fromCharCode(0x0160); break;
case 'scaron': ch = String.fromCharCode(0x0161); break;
case 'Yuml': ch = String.fromCharCode(0x0178); break;
case 'fnof': ch = String.fromCharCode(0x0192); break;
case 'circ': ch = String.fromCharCode(0x02c6); break;
case 'tilde': ch = String.fromCharCode(0x02dc); break;
case 'Alpha': ch = String.fromCharCode(0x0391); break;
case 'Beta': ch = String.fromCharCode(0x0392); break;
case 'Gamma': ch = String.fromCharCode(0x0393); break;
case 'Delta': ch = String.fromCharCode(0x0394); break;
case 'Epsilon': ch = String.fromCharCode(0x0395); break;
case 'Zeta': ch = String.fromCharCode(0x0396); break;
case 'Eta': ch = String.fromCharCode(0x0397); break;
case 'Theta': ch = String.fromCharCode(0x0398); break;
case 'Iota': ch = String.fromCharCode(0x0399); break;
case 'Kappa': ch = String.fromCharCode(0x039a); break;
case 'Lambda': ch = String.fromCharCode(0x039b); break;
case 'Mu': ch = String.fromCharCode(0x039c); break;
case 'Nu': ch = String.fromCharCode(0x039d); break;
case 'Xi': ch = String.fromCharCode(0x039e); break;
case 'Omicron': ch = String.fromCharCode(0x039f); break;
case 'Pi': ch = String.fromCharCode(0x03a0); break;
case ' Rho ': ch = String.fromCharCode(0x03a1); break;
case 'Sigma': ch = String.fromCharCode(0x03a3); break;
case 'Tau': ch = String.fromCharCode(0x03a4); break;
case 'Upsilon': ch = String.fromCharCode(0x03a5); break;
case 'Phi': ch = String.fromCharCode(0x03a6); break;
case 'Chi': ch = String.fromCharCode(0x03a7); break;
case 'Psi': ch = String.fromCharCode(0x03a8); break;
case 'Omega': ch = String.fromCharCode(0x03a9); break;
case 'alpha': ch = String.fromCharCode(0x03b1); break;
case 'beta': ch = String.fromCharCode(0x03b2); break;
case 'gamma': ch = String.fromCharCode(0x03b3); break;
case 'delta': ch = String.fromCharCode(0x03b4); break;
case 'epsilon': ch = String.fromCharCode(0x03b5); break;
case 'zeta': ch = String.fromCharCode(0x03b6); break;
case 'eta': ch = String.fromCharCode(0x03b7); break;
case 'theta': ch = String.fromCharCode(0x03b8); break;
case 'iota': ch = String.fromCharCode(0x03b9); break;
case 'kappa': ch = String.fromCharCode(0x03ba); break;
case 'lambda': ch = String.fromCharCode(0x03bb); break;
case 'mu': ch = String.fromCharCode(0x03bc); break;
case 'nu': ch = String.fromCharCode(0x03bd); break;
case 'xi': ch = String.fromCharCode(0x03be); break;
case 'omicron': ch = String.fromCharCode(0x03bf); break;
case 'pi': ch = String.fromCharCode(0x03c0); break;
case 'rho': ch = String.fromCharCode(0x03c1); break;
case 'sigmaf': ch = String.fromCharCode(0x03c2); break;
case 'sigma': ch = String.fromCharCode(0x03c3); break;
case 'tau': ch = String.fromCharCode(0x03c4); break;
case 'upsilon': ch = String.fromCharCode(0x03c5); break;
case 'phi': ch = String.fromCharCode(0x03c6); break;
case 'chi': ch = String.fromCharCode(0x03c7); break;
case 'psi': ch = String.fromCharCode(0x03c8); break;
case 'omega': ch = String.fromCharCode(0x03c9); break;
case 'thetasym': ch = String.fromCharCode(0x03d1); break;
case 'upsih': ch = String.fromCharCode(0x03d2); break;
case 'piv': ch = String.fromCharCode(0x03d6); break;
case 'ensp': ch = String.fromCharCode(0x2002); break;
case 'emsp': ch = String.fromCharCode(0x2003); break;
case 'thinsp': ch = String.fromCharCode(0x2009); break;
case 'zwnj': ch = String.fromCharCode(0x200c); break;
case 'zwj': ch = String.fromCharCode(0x200d); break;
case 'lrm': ch = String.fromCharCode(0x200e); break;
case 'rlm': ch = String.fromCharCode(0x200f); break;
case 'ndash': ch = String.fromCharCode(0x2013); break;
case 'mdash': ch = String.fromCharCode(0x2014); break;
case 'lsquo': ch = String.fromCharCode(0x2018); break;
case 'rsquo': ch = String.fromCharCode(0x2019); break;
case 'sbquo': ch = String.fromCharCode(0x201a); break;
case 'ldquo': ch = String.fromCharCode(0x201c); break;
case 'rdquo': ch = String.fromCharCode(0x201d); break;
case 'bdquo': ch = String.fromCharCode(0x201e); break;
case 'dagger': ch = String.fromCharCode(0x2020); break;
case 'Dagger': ch = String.fromCharCode(0x2021); break;
case 'bull': ch = String.fromCharCode(0x2022); break;
case 'hellip': ch = String.fromCharCode(0x2026); break;
case 'permil': ch = String.fromCharCode(0x2030); break;
case 'prime': ch = String.fromCharCode(0x2032); break;
case 'Prime': ch = String.fromCharCode(0x2033); break;
case 'lsaquo': ch = String.fromCharCode(0x2039); break;
case 'rsaquo': ch = String.fromCharCode(0x203a); break;
case 'oline': ch = String.fromCharCode(0x203e); break;
case 'frasl': ch = String.fromCharCode(0x2044); break;
case 'euro': ch = String.fromCharCode(0x20ac); break;
case 'image': ch = String.fromCharCode(0x2111); break;
case 'weierp': ch = String.fromCharCode(0x2118); break;
case 'real': ch = String.fromCharCode(0x211c); break;
case 'trade': ch = String.fromCharCode(0x2122); break;
case 'alefsym': ch = String.fromCharCode(0x2135); break;
case 'larr': ch = String.fromCharCode(0x2190); break;
case 'uarr': ch = String.fromCharCode(0x2191); break;
case 'rarr': ch = String.fromCharCode(0x2192); break;
case 'darr': ch = String.fromCharCode(0x2193); break;
case 'harr': ch = String.fromCharCode(0x2194); break;
case 'crarr': ch = String.fromCharCode(0x21b5); break;
case 'lArr': ch = String.fromCharCode(0x21d0); break;
case 'uArr': ch = String.fromCharCode(0x21d1); break;
case 'rArr': ch = String.fromCharCode(0x21d2); break;
case 'dArr': ch = String.fromCharCode(0x21d3); break;
case 'hArr': ch = String.fromCharCode(0x21d4); break;
case 'forall': ch = String.fromCharCode(0x2200); break;
case 'part': ch = String.fromCharCode(0x2202); break;
case 'exist': ch = String.fromCharCode(0x2203); break;
case 'empty': ch = String.fromCharCode(0x2205); break;
case 'nabla': ch = String.fromCharCode(0x2207); break;
case 'isin': ch = String.fromCharCode(0x2208); break;
case 'notin': ch = String.fromCharCode(0x2209); break;
case 'ni': ch = String.fromCharCode(0x220b); break;
case 'prod': ch = String.fromCharCode(0x220f); break;
case 'sum': ch = String.fromCharCode(0x2211); break;
case 'minus': ch = String.fromCharCode(0x2212); break;
case 'lowast': ch = String.fromCharCode(0x2217); break;
case 'radic': ch = String.fromCharCode(0x221a); break;
case 'prop': ch = String.fromCharCode(0x221d); break;
case 'infin': ch = String.fromCharCode(0x221e); break;
case 'ang': ch = String.fromCharCode(0x2220); break;
case 'and': ch = String.fromCharCode(0x2227); break;
case 'or': ch = String.fromCharCode(0x2228); break;
case 'cap': ch = String.fromCharCode(0x2229); break;
case 'cup': ch = String.fromCharCode(0x222a); break;
case 'int': ch = String.fromCharCode(0x222b); break;
case 'there4': ch = String.fromCharCode(0x2234); break;
case 'sim': ch = String.fromCharCode(0x223c); break;
case 'cong': ch = String.fromCharCode(0x2245); break;
case 'asymp': ch = String.fromCharCode(0x2248); break;
case 'ne': ch = String.fromCharCode(0x2260); break;
case 'equiv': ch = String.fromCharCode(0x2261); break;
case 'le': ch = String.fromCharCode(0x2264); break;
case 'ge': ch = String.fromCharCode(0x2265); break;
case 'sub': ch = String.fromCharCode(0x2282); break;
case 'sup': ch = String.fromCharCode(0x2283); break;
case 'nsub': ch = String.fromCharCode(0x2284); break;
case 'sube': ch = String.fromCharCode(0x2286); break;
case 'supe': ch = String.fromCharCode(0x2287); break;
case 'oplus': ch = String.fromCharCode(0x2295); break;
case 'otimes': ch = String.fromCharCode(0x2297); break;
case 'perp': ch = String.fromCharCode(0x22a5); break;
case 'sdot': ch = String.fromCharCode(0x22c5); break;
case 'lceil': ch = String.fromCharCode(0x2308); break;
case 'rceil': ch = String.fromCharCode(0x2309); break;
case 'lfloor': ch = String.fromCharCode(0x230a); break;
case 'rfloor': ch = String.fromCharCode(0x230b); break;
case 'lang': ch = String.fromCharCode(0x2329); break;
case 'rang': ch = String.fromCharCode(0x232a); break;
case 'loz': ch = String.fromCharCode(0x25ca); break;
case 'spades': ch = String.fromCharCode(0x2660); break;
case 'clubs': ch = String.fromCharCode(0x2663); break;
case 'hearts': ch = String.fromCharCode(0x2665); break;
case 'diams': ch = String.fromCharCode(0x2666); break;
default: ch = ''; break;
}
}
i = semicolonIndex;
}
}
out += ch;
}
return out;
}

Javascript htmldecode的更多相关文章

  1. javascript实现htmlEncode与htmlDecode

    原文发布时间为:2011-04-19 -- 来源于本人的百度文章 [由搬家工具导入] htmlencode with javascript function htmlEncode(html) {    ...

  2. javascript 实现htmlEncode htmlDecode

    屌屌的写法..function htmlEncode(value){ //create a in-memory div, set it's inner text(which jQuery automa ...

  3. javascript另类方法高效实现htmlencode()与htmldecode()函数

    最常见的做法是采用正则表达式替换的方法,将特殊字符如 < > & 等进行替换,htmlencode的时候这样替换还比较容易,但发过来htmldecode的时候就不一定好用了,因为需 ...

  4. [转] javascript另类方法高效实现htmlencode()与htmldecode()函数

    本文转自:http://blog.csdn.net/cuixiping/article/details/7846806 最常见的做法是采用正则表达式替换的方法,将特殊字符如 < > &am ...

  5. JavaScript自动生成博文目录导航

    转载于:JavaScript自动生成博文目录导航 我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到 具体的内容 ...

  6. 在JavaScript中对HTML进行反转义

    在JavaScript中对字符串进行转义和反转义操作,常用的方法莫过于使用encodeURI (decodeURI).encodeURIComponent (decodeURIComponent)这几 ...

  7. javascript处理HTML的Encode(转码)和Decode(解码)总结

    HTML的Encode(转码)和解码(Decode)在平时的开发中也是经常要处理的,在这里总结了使用javascript处理HTML的Encode(转码)和解码(Decode)的常用方式 一.用浏览器 ...

  8. 据说每个大牛、小牛都应该有自己的库——JavaScript原生对象拓展

    在据说每个大牛.小牛都应该有自己的库——框架篇中我扬言要做个小牛,没想到一天没更新,小伙儿伴们就戏谑的问我,油哥是不是要太监了?其实事情是这个样子的,这不是太监的节奏,一是,关于写个自己的库的想法由来 ...

  9. 100个直接可以拿来用的JavaScript实用功能代码片段(转载)

    把平时网站上常用的一些实用功能代码片段通通收集起来,方面网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率. 目录如下: 1.原生JavaScript实现字符串长度截取2.原生JavaS ...

随机推荐

  1. 巧用Openlayers4的Style

    原文:https://blog.csdn.net/gisshixisheng/article/details/80149087 概述 非常细化Openlayers4中的StyleFunction,因为 ...

  2. 对于 url encode decode js 和 c# 有差异

    在js对一个值进行解码使用:decodeURIComponent,编码使用:encodeURIComponent

  3. 使用PHPExcel实现Excel文件的导入和导出(模板导出)

    在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是:1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽度 ...

  4. Django-jet自定义菜单

    Django-jet自定义菜单:并且可设置权限.https://jet.readthedocs.io/en/latest/config_file.html#custom-menu

  5. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  6. curl模拟访问已经存在的cookie

    curl 'http://i.meituan.com/brunch/order?status=2' -H 'Pragma: no-cache' -H 'Accept-Encoding: gzip, d ...

  7. [HDFS Manual] CH3 HDFS Commands Guide

    HDFS Commands Guide HDFS Commands Guide 3.1概述 3.2 用户命令 3.2.1 classpath 3.2.2 dfs 3.2.3 envvars 3.2.4 ...

  8. MySQL 加锁处理分析<转>

    1    背景    1 1.1    MVCC:Snapshot Read vs Current Read    2 1.2    Cluster Index:聚簇索引    3 1.3    2P ...

  9. Java编程的逻辑 (92) - 函数式数据处理 (上)

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  10. nohup.out文件过大解决方法 定时任务清空

    0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出. 在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号.例如,将某个程序的错误信 ...