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