1

我收到控制台错误:

无法调用方法“替换”

我想要实现的是转义所有特殊字符和空格。

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

所以,当我有一个字符串

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

它应该只读为"dfgsdfgsdfgdfgdg123123sdfg"

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

正则表达式中的 PS 新手。

4

3 回答 3

2

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

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

JS 小提琴演示

于 2013-10-18T06:59:41.693 回答
1

试试这个。

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

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

text.replace(/\W/g, '');
于 2013-10-18T06:49:17.287 回答
0

尝试这个:

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

演示

于 2013-10-18T06:57:50.627 回答