IE8报告了带有以下JS函数的意外量词错误,我想使用该函数从字符串中剥离某些符号。
function stripCurrencySymbols(currStr){
var symbols = [",",'£',"p","$"];
for(i in symbols){
currStr = currStr.replace(new RegExp(symbols[i], 'g'),"");
}
return currStr;
}
我认为这是因为$需要转义,我尝试用\ $替换它,但无济于事。有任何想法吗?
最佳答案
从字符串构造正则表达式时,它应该为"\\$"
。
另外,为什么不这样做:
function stripCurrencySymbols(currStr){
return currStr.replace(/[,£p$]/g, "");
}
[,£p$]
是一个字符类,表示“包含的字符之一”;在字符类中,大多数转义字符(例如$
)都无需转义。