我需要替换字符串中的特殊字符,如下所示:
this.value = this.value.replace(/\n/g,'');
除正则表达式部分外,我需要它来查找所有这些相反:
[0-9]找到0到9之间的任何数字 [A-Z]查找从大写字母A到大写字母Z的任何字符 [a-z]查找从小写字母a到小写字母z
的任何字符
加underscore
和minus
。
因此,这个字符串就可以了:
Abc054_34-BD
这个字符串很糟糕:
Fš04// 4。
从坏字符串中我需要删除不允许的字符。
如何堆叠此正则表达式规则?
答案 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, '');
参考: