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

时间:2012-02-16 12:27:38

标签: javascript regex

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

this.value = this.value.replace(/\n/g,'');

除正则表达式部分外,我需要它来查找所有这些相反

  

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

的任何字符

underscoreminus

因此,这个字符串就可以了:

  

Abc054_34-BD

这个字符串很糟糕:

  

Fš04// 4。

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

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

2 个答案:

答案 0 :(得分:26)

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

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

<强>试验:

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

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

答案 1 :(得分:2)

尝试:

this.value = this.value.replace(/\w|-/g, '');

参考: