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

时间:2013-10-18 06:43:51

标签: javascript regex

我收到了控制台错误:

  

无法调用方法'replace'

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

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

所以,当我有一个字符串

  

“dfgsdfgsdfg”)(&( ^)()& dfgdg123123sdfg“

它应该只读为"dfgsdfgsdfgdfgdg123123sdfg"

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

P.S。正则表达式中的新手。

3 个答案:

答案 0 :(得分:2)

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

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

JS Fiddle Demo

答案 1 :(得分:1)

试试这个。

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

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

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

答案 2 :(得分:0)

试试这个:

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

DEMO