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...’
谢谢你的回答!
PHPz2017-04-11 11:56:06
javascript正则表达式是支持分组捕获的,分组的结果会存储静态属性$1-$9中
其中在你的表达式中,要替换的内容在替换为第二个分组中捕获的内容