• JS 转换HTML实体字符


    .

    .

    .

    .

    .

    在HTML中,为了使用某些预留字符(如<、>等等)或者中文乱码等问题,可以使用HTML字符实体编码或实体名来解决。

    实体名称就是类似&lt;、&gt;这样的东西,虽然大部分主流浏览器都可以支持实体名,但是也不排除新老浏览器存在不兼容的问题,所以使用实体编码是一种比较靠谱的方案,无论浏览器的编码是什么,使用实体编码的文字都不会出现乱码。

    那么字符与实体编码之间是怎样转换的呢?

    且看代码:

     1 <html>
     2 <head>
     3 <title>字符转HTML实体编码</title>
     4 <script>
     5 function $(id) {return document.getElementById(id);}
     6 function htmlEncode(input)
     7 {
     8 var code = input.charCodeAt(); // 获得实体编码
     9 var div = $("divCode");
    10 /*
    11  * 实体编码的格式是:&#数字;
    12  * &#38; 是 &
    13  * &#35; 是 #
    14  * code 用户输入的字的实体编码
    15  * &#59; 是 ;
    16  *
    17  * 如果直接写成 "&#" + code + ";"; 的形式会被浏览器直接解析为对应的字符,从而失去了编码的作用。
    18  */
    19 div.innerHTML = "&#38;" + "&#35;" + code + "&#59;"; //String.fromCharCode(code); 解码
    20 }
    21 </script>
    22 </head>
    23 <body>
    24 <input type="text" onchange="htmlEncode(this.value)"/>
    25 <div id="divCode"></div>
    26 </body>
    27 </html>

    使用 String.fromCharCode(code); 便可以将实体编码转换回字符。

    其余的内容在代码注释中已经写得比较详细了,如果有什么疑问可以留言,共同研讨。

    原创文章,允许转载,请注明出处:http://www.cnblogs.com/chuyuhuashi/ 谢谢。

  • 相关阅读:
    九连环
    Fruit Ninja(取随机数)
    Distinct Values(贪心)
    Harvest of Apples
    Don't Be a Subsequence
    ConvexScore
    守卫
    Trie树
    NOIP 2005 过河
    HDU 4597 Play Game 记忆化DP
  • 原文地址:https://www.cnblogs.com/0xcafebabe/p/2708788.html
Copyright © 2020-2023  润新知