Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/06/2012, 18:12
Avatar de junihh
junihh
 
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Limpiar carácteres especiales con RegEx

Hola señores

Estoy preparando una función que me limpie de carácteres especiales alguna cadena de texto (string) que le pase. Escribí lo siguiente:

Código HTML:
var boton = document.getElementById('boton'), campo = document.getElementById('campo');
		
boton.onclick = function()
{
        var ltr = ['à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý',' ','-','_',',',':','"',"'",'&',';','@','.','>','<','|'];
        var rpl = ['a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u','y','y','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u','y','','','','','','','','','','','','','',''];
        
        for (var i = 0, c = ltr.length, r = campo.value.toLowerCase(); i < c; i++)
        {
        	var rg = new RegExp(ltr[i],'g');
        	r = r.replace(rg,rpl[i]);
        };
        
        console.log( r );
};
El problema es que la consola imprime en blanco, como si borrara todo el texto. ¿Alguna idea sobre qué puedo estar haciendo mal?

Tengo una función con comportamiento similar en PHP y va muy bien, así que traté de hacer la versión para javascript pero presenta ese problema.
__________________
JuniHH
- Mi blog
- Mi portafolio