Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Javascript从字符串中删除特殊字符_Javascript_Regex - Fatal编程技术网

无法使用Javascript从字符串中删除特殊字符

无法使用Javascript从字符串中删除特殊字符,javascript,regex,Javascript,Regex,我需要使用Javascript从字符串中删除所有特殊字符,但无法删除。请在下面找到我的代码 function checkString(){ var sourceString='a|"bc!@£de^&$f g'; var outString = sourceString.replace(/[`~!@#$%^&*()|+\-=?;:'",<>\{\}\[\]\\\/]/gi, ''); console.log('sourcestrin

我需要使用Javascript从字符串中删除所有特殊字符,但无法删除。请在下面找到我的代码

function checkString(){
      var sourceString='a|"bc!@£de^&$f g';
      var outString = sourceString.replace(/[`~!@#$%^&*()|+\-=?;:'",<>\{\}\[\]\\\/]/gi, '');
      console.log('sourcestring',outString);
}
函数checkString(){
var sourceString='a|“bc!@de^&$f g';
var outString=sourceString.replace(/[`~!@$%^&*()+\-=?;:',\{\\\[\]\/]/gi',);
log('sourcestring',outString);
}
在这里,我无法获得预期的输出。我在控制台中得到了这个
abc英镑def g
。这里我需要删除所有特殊字符。请帮助我解决此问题。

使用正则表达式:

var sourceString='a|“bc!@de^&$f g';
log(“Before:+sourceString”);
sourceString=sourceString。替换(/[^a-zA-Z0-9]/g,”);

log(“之后:“+sourceString”);
删除除数字和字母以外的所有内容

var sourceString='a |“bc@德^&$f g';
//var outString=sourceString.replace(/[`~!@$%^&*()+\-=?;:',\{\\\[\]\/]/gi',);
var outString=sourceString.replace(/[^a-zA-Z0-9]/g');

控制台。日志(“SoScScess”,OutStand);您可以考虑使用字符集白名单,如果可以的话,否则您将有大量的字符来指定。(白名单是一个选项吗?)这是因为你没有删除英镑符号。这导致了@CertainPerformance所说的-如果你试图将其列入黑名单,你需要不断添加越来越多的符号,这将变得不可行。答案与上面相同