添加到您的代碼:
//@Author Karl-André Gagnon
if(String.prototype.replace){
String.prototype.oldReplace = String.prototype.replace;
String.prototype.replace = function(find, replace){
var stringReturned = this;
if(!find || !replace) return undefined;
if(find instanceof Array){
if(typeof replace == 'string'){
for(var i = 0; i < find.length; i++){
stringReturned = stringReturned.oldReplace(find[i],replace);
}
}else if(replace instanceof Array && replace.length == 1){
for(var i = 0; i < find.length; i++){
stringReturned = stringReturned.oldReplace(find[i],replace[0]);
}
}else if(replace instanceof Array){
for(var i = 0; i < find.length; i++){
stringReturned = stringReturned.oldReplace(find[i],replace[i] ? replace[i] : '');
}
}else{
stringReturned = undefined;
}
}else{
stringReturned = stringReturned.oldReplace(find,replace);
}
return stringReturned;
}
}
這將允許你通過數組作爲論據.replace()
。
然後就可以做到這一點:
string.replace([/ /g, /["*%'@$]/g],['-', ''])
基本上,所述第一陣列的所述第一小區通過將所述第二陣列的所述第一小區所取代(如在PHP替換)。
小提琴:如果烏拉圭回合尋找http://jsfiddle.net/6sk3n/
http://stackoverflow.com/questions/4374822/javascript-regexp-remove-all-special-characters – lifetimes