我收到了控制台错误:
无法调用方法'replace'
我想要实现的是逃避所有特殊字符和空格。
text.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0');
所以,当我有一个字符串
“dfgsdfgsdfg”)(&( ^)()& dfgdg123123sdfg“
它应该只读为"dfgsdfgsdfgdfgdg123123sdfg"
注意:我想要转义/忽略所有非字母数字字符,包括空格。它应该只是[a-zA-Z0-9]
P.S。正则表达式中的新手。
答案 0 :(得分:2)
可能最好的方法是匹配“非字母数字”,如下所示:
var text="dfgsdfgsdfg))(&(^)()& dfgdg123123sdfg";
alert(text.replace(/[^a-zA-Z0-9]/g, ''));
答案 1 :(得分:1)
试试这个。
text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
或者只是匹配任何非单词字符,这是最好的方法。
text.replace(/\W/g, '');
答案 2 :(得分:0)
试试这个:
$(document).ready(function(){
var str = "dfgsdfgsdfg))(&(^)()& dfgdg123123sdfg";
alert(str.replace(/[&/\#,+()$~%.'":*?<>{}^ ]/g, ""));
});