一,为什么要使用HTML转义符串
转义字符串(Escape Sequence)也称字符实体(Character Entity)。
在HTML中,定义转义字符串的原因有两个:
第一个原因是:像“<” 和 “>”这类符号已经用来表示HTML标签,因此就不能直接当做文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。
第二个原因是:有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
二,HTML转义符串的组成
1.转义字符串分成三部分:
第一部分是一个&符号,英文叫ampersand;
第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;
第三部分是一个分号。
2.HTML转义符串与Unicode的关系
HTML转义符串 == ‘ &# ‘ + Unicode编码 + ‘ ; ‘
3.常见的HTML 字符实体:
三,字符转换和HTML转义符转换方法
1.将字符转换为HTML转义符的方法
var htmlEncode=function(str) {//HTML des encode. var res=[]; for(var i=0;i < str.length;i++){ res[i]=str.charCodeAt(i); } return "&#"+res.join(";&#")+";"; };
2.将HTML转义符转换为字符的方法
var htmlDecode = function(str) { return str.replace(/&#(x)?([^&]{1,5});?/g,function($,$1,$2) { return String.fromCharCode(parseInt($2 , $1 ? 16:10)); }); };