关于javascript中replace函数的问题
最近在工作中遇到一个问题
就是包含在relpace时,替换字符包含了$,会出现替换错误。
replace定义:
stringObj.replace(rgExp, replaceText)
网上查了很久,没有找到原因,最后还是查文档手册找到了原因。
replace可以支持正则,我们熟悉的会有参数$1,$2这样的。但实际上还有其它的特殊字符
手册上有一张表列举着,我在这里列举几个
$$ $ (JScript 5.5 或更新版本)
$& 指定与整个模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本)
$` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本)
我遇到的问题就是$&组合,替换成了字符串本身,导致出错。
处理方法就很简单了
把$全部写成转义形式,$$