天天看点

前端对转义字符串进行反转义

转义字符:

显示结果 描述 实体名称
空格 &nbsp
< 小于号 &lt
> 大于号 &gt
& 和号 &amp
撇号 &apos
" 引号 $quot

转义字符串,分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

如&quot; 代表引号  “

场景:

后端对字符串中的双引号进行了转义,返回的数据格式为 [&quot;03&quot;&quot;06&quot;] 前端需要对数据进行反转义。

解决方法:

function escape2Html(str) {
    var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
    return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){
        return arrEntities[t];
    });
}

let str= '[&quot;03&quot;&quot;06&quot;] ';
console.log(escape2Html(str));
// ["03""06"]