我尝试了以下内容:
var stringToBeReplaced = "$";
var result = stringToBeReplaced.replace("$", "$$$$");
它适用于现代浏览器,我在"$$"
中获得result
。但令我惊讶的是,当我在IE8或更早版本上运行它时,我会在"$$$$"
中获得result
。这是一个浏览器错误吗?是否有跨浏览器解决方案避免浏览器检测?请vainilla js取悦,没有框架。
答案 0 :(得分:3)
这可能有效:
var result = stringToBeReplaced.replace(/(\$)/g, "$1$1");
但我必须承认我没有IE测试。
答案 1 :(得分:2)
您可以使用replace
:
callback
'$'.replace('$', function($0) { return '$$'; });
"$$"
PS:我在Firefox,Chrome和IE8上测试了它