Javascript 正则转义空间和特殊字符

Javascript 正则转义空间和特殊字符,javascript,regex,Javascript,Regex,我收到一个控制台错误: 无法调用方法“replace” 我想要实现的是避开所有特殊的字符和空格 text.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0'); 所以,当我有一根绳子 “dfgsdfgsdfg”)(&(^)(&dfgdg123123sdfg” 它应只读为“DFGSDFGSDFGDFGDG123SDFG” 注意:我想转义/忽略所有非字母数字字符,其中包括空格。它只能是[a-zA-Z0-9] 另外,regex中的新手。试试这个 text.replace(

我收到一个控制台错误:

无法调用方法“replace”

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

text.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0');
所以,当我有一根绳子

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

它应只读为“DFGSDFGSDFGDFGDG123SDFG”

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

另外,regex中的新手。

试试这个

text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
或者只匹配任何非单词字符,这将是最好的方法

text.replace(/\W/g, '');
试试这个:

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

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

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

听起来像是
文本
是未定义的。文本是可变的。编辑您发布的错误不是因为
正则表达式
。问题在于
文本
。请确保文本是
字符串
Hi mate!当我的字符串仅由空格组成或以特殊字符(例如“”、“`()开头时,仍然会出现错误(“谢谢!但是当字符串以“`、+/*.~!@$%^&*()和任何其他非字母数字字符(包括空格)开头时,我仍然会遇到一个错误!但是我只想实现的是只读取[a-zA-Z0-9]个字符。任何其他字符都应该转义是。.请检查演示。.答案将是DFGSDFGDDG123SDFG。”