如何从字符串中删除突出的字符?特别是在IE6中,我有这样的事情:
accentsTidy = function(s){
var r=s.toLowerCase();
r = r.replace(new RegExp(/\s/g),"");
r = r.replace(new RegExp(/[àáâãäå]/g),"a");
r = r.replace(new RegExp(/æ/g),"ae");
r = r.replace(new RegExp(/ç/g),"c");
r = r.replace(new RegExp(/[èéêë]/g),"e");
r = r.replace(new RegExp(/[ìíîï]/g),"i");
r = r.replace(new RegExp(/ñ/g),"n");
r = r.replace(new RegExp(/[òóôõö]/g),"o");
r = r.replace(new RegExp(/œ/g),"oe");
r = r.replace(new RegExp(/[ùúûü]/g),"u");
r = r.replace(new RegExp(/[ýÿ]/g),"y");
r = r.replace(new RegExp(/\W/g),"");
return r;
};
Run Code Online (Sandbox Code Playgroud)
但IE6让我烦恼,似乎它不喜欢我的正则表达式.
我有西班牙语和其他语言的字符串,可能包含通用的特殊字符,如(),*等.我需要删除.但问题是它也可能包含特殊的语言字符,如ñ,á,ó,í等,它们需要保留.所以我试图通过以下方式使用regexp:
var desired = stringToReplace.replace(/[^\w\s]/gi, '');
Run Code Online (Sandbox Code Playgroud)
不幸的是,它删除了所有特殊字符,包括相关语言.不知道如何避免这种情况.也许有人会建议?