正则表达式转义空格和特殊字符

regex escape spaces and special characters

本文关键字:特殊字符 空格 转义 正则表达式      更新时间:2023-09-26

我收到控制台错误:

无法调用方法"替换"

我想实现的是摆脱所有特殊字符和空格。

text.replace(/[.*+?^${}()|[']'/'']/g, '''$0');

所以,当我有一个字符串时

"dfgsdfgsdfg))(&(^)()& dfgdg123123sdfg"

它应该只读为"dfgsdfgsdfgdfgdg123123sdfg"

注意:我想转义/忽略所有非字母数字字符,其中包括空格。它应该只是 [a-zA-Z0-9]

附言正则表达式中的新手。

可能最好的方法是匹配"非字母数字",如下所示:

var text="dfgsdfgsdfg))(&(^)()& dfgdg123123sdfg";
alert(text.replace(/[^a-zA-Z0-9]/g, ''));

JS小提琴演示

试试这个。

text.replace(/[-[']{}()*+?.,''^$|#'s]/g, "''$&");

或者只是匹配任何非单词字符,这将是最好的方法。

text.replace(/'W/g, '');

试试这个:

$(document).ready(function(){
 var str = "dfgsdfgsdfg))(&(^)()& dfgdg123123sdfg";
alert(str.replace(/[&/'#,+()$~%.'":*?<>{}^ ]/g, ""));
});

演示