JS跨浏览器解决方案,用于替换' $'双重' $$'字符

时间:2014-05-15 13:58:42

标签: javascript regex internet-explorer replace

我尝试了以下内容:

var stringToBeReplaced = "$";
var result = stringToBeReplaced.replace("$", "$$$$");

它适用于现代浏览器,我在"$$"中获得result。但令我惊讶的是,当我在IE8或更早版本上运行它时,我会在"$$$$"中获得result。这是一个浏览器错误吗?是否有跨浏览器解决方案避免浏览器检测?请vainilla js取悦,没有框架。

2 个答案:

答案 0 :(得分:3)

这可能有效:

var result = stringToBeReplaced.replace(/(\$)/g, "$1$1");

但我必须承认我没有IE测试。

答案 1 :(得分:2)

您可以使用replace

尝试callback
'$'.replace('$', function($0) { return '$$'; });
"$$"

PS:我在Firefox,Chrome和IE8上测试了它