>  Q&A  >  본문

javascript unicode 解码,unicode 码转为汉字

1.主要想问这段代码中 $2的作用

2.代码说明,这是一段代码的作用是将 unicode 编码转为汉字

代码如下

`var param = '测试商品A-    型号AAA'
function reconvert(str){
    str = str.replace(/(&#)(\d{1,6});/gi,function($0){
        return    String.fromCharCode(parseInt(escape($0).replace(/(%26%23)(\d{1,6})(%3B)/g,"$2")));
    });
    return str;
}

reconvert(param)`

3.问题
目前了解的知识点
a.replace可以通过正则表达式来进行替换
b.escape 能进行转码 这里是将 “”替换为了 “%26%23”
c."$"在 replace 中有特殊的含义,表示第几个参数。

为什么这里需要使用‘$2’,而不是 ‘$1,$3...’

谢谢你的回答!

黄舟黄舟2721일 전365

모든 응답(1)나는 대답할 것이다

  • PHPz

    PHPz2017-04-11 11:56:06

    javascript正则表达式是支持分组捕获的,分组的结果会存储静态属性$1-$9中
    其中在你的表达式中,要替换的内容在替换为第二个分组中捕获的内容

    회신하다
    0
  • 취소회신하다