我想要一个RegExp,它将从字符串中删除所有特殊字符。我正在尝试这样的东西,但它在IE7中不工作,尽管它在Firefox中工作。
var specialChars = "!@#$^&%*()+=-[]\/{}|:<>?,.";
for (var i = 0; i < specialChars.length; i++) {
stringToReplace = stringToReplace.replace(new RegExp("\\" + specialChars[i], "gi"), "");
}
RegExp的详细描述也会很有帮助。
纯Javascript regex不处理Unicode字母。
不要使用[^\w\s],这将删除带有口音的字母(如àèéìòù),更不用说西里尔字母或中文,来自这些语言的字母将被完整删除。
你真的不想把这些字母和所有的特殊字符一起去掉。你有两个机会:
在正则表达式中添加所有不想删除的特殊字符,例如:[^èéòàùì\w\s]。
看看xregexp.com。XRegExp通过\p{…}语法。
var str =“Їжак:::résd, $ % & adùf”
var search = XRegExp< first >的pL] +) ');
var res = XRegExp。代表(str,搜索,“全部”);
游戏机。log (res);/ /注册“Їжак:::resd, adf”
游戏机。log (str。代表(*);// / returns“rsd adf”
游戏机。log (str。代表(*);// returns“resd aduf”
“https://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.js”< script src = > / < script >