2012-02-16 60 views
12

我需要從一個字符串替換特殊字符,如:如何用javascript中的正則表達式替換特殊字符?

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

除了正則表達式的一部分,我需要它來尋找所有這些的相反

[0 -9]查找0到9之間的任意數字
[AZ]查找大寫字母A到大寫字母Z中的任意字符
[az]查找任意字符從小寫字母a到小寫字母z

underscoreminus

因此,這個字符串就是OK:

Abc054_34-BD

而且這個字符串是壞:

FS 04 // 4。

從錯誤的字符串我需要刪除不允許的字符。

如何堆疊此正則表達式規則?

回答

24

您可以使用字符類^否定:

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 

所以通過把字符[^...],你可以決定哪些人物應該被允許和所有其他替代。