总所周知,js的字符串替换函数replace()只能替换目标字符串, 网上给出的解法通常是:
String.prototype.replaceAll = function(search, replacement) { |
这个方法的问题是因为使用了正则表达式, 所以search串中如果出现了正则表达式的关键字, 会出现意想不到的效果,甚至会报错
比如:var aaa="s[aves[ave";
aaa.replaceAll("s[ave","slave"); //Uncaught SyntaxError: Invalid regular expression: /s[ave/:
aaa.replaceAll("s\\[ave","slave"); //只这样调用, 加入转义字符
这种方式实在恶心, 可以考虑使用split再join的方式
String.prototype.replaceAll = function(search, replacement) { |