如何在javascript中使用正则表达式替换特殊字符?

Ric*_*uez 14 javascript regex

我需要从字符串中替换特殊字符,如下所示:

this.value = this.value.replace(/\n/g,'');
Run Code Online (Sandbox Code Playgroud)

除了正则表达式部分,我需要它来寻找所有这些的相反:

[0-9]查找0到9之间的任何数字
[AZ]查找从大写字母A到大写字母Z
[az]的任何字符查找从小写字母a到小写字母z的任何字符

加号underscoreminus.

因此,这个字符串是OK:

Abc054_34-BD

这个字符串很糟糕:

Fš04// 4.

从坏字符串我需要删除不允许的字符.

如何堆叠此正则表达式规则?

Sar*_*raz 27

你可以使用带有^否定的字符类:

this.value = this.value.replace(/[^a-zA-Z0-9_-]/g,'');
Run Code Online (Sandbox Code Playgroud)

测试:

console.log('Abc054_34-bd'.replace(/[^a-zA-Z0-9_-]/g,'')); // Abc054_34-bd
console.log('Fš 04//4.'.replace(/[^a-zA-Z0-9_-]/g,'')); // F044
Run Code Online (Sandbox Code Playgroud)

因此,通过输入字符[^...],您可以决定应该允许哪些字符以及替换所有其他字符.