2012-02-16 17 views
12

tengo que sustituir caracteres especiales de una cadena, así:¿Cómo reemplazo caracteres especiales con expresiones regulares en javascript?

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

Excepto por la parte de expresiones regulares, lo necesito para buscar el opuesta de todas estas cosas:

[0 -9] Encuentra cualquier dígito de 0 a 9
[AZ] Encuentra cualquier carácter de mayúsculas a a Z mayúsculas
[az] Encuentra cualquier carácter de minúsculas a a la z minúsculas

más underscore y minus.

Por lo tanto, esta cadena está bien:

Abc054_34-bd

Y esta cadena es malo:

FS 04 // 4.

De la cadena incorrecta, necesito eliminar los caracteres no permitidos.

¿Cómo apilo esta regla de expresiones regulares?

Respuesta

24

Puede utilizar clase de carácter con ^ negación:

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

Pruebas:

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 

Así, poniendo caracteres en [^...], puede decidir qué caracteres se debe permitir y todos los demás reemplazado .

Cuestiones relacionadas