![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
20/05/2009, 08:37
|
| | Fecha de Ingreso: enero-2009 Ubicación: Elche
Mensajes: 59
Antigüedad: 16 años Puntos: 3 | |
Respuesta: Cómo comparar cadenas con á y á Al final he tenido que fabricarme mi propia solución basándome en un ejemplo que puso Caricatos en este hilo: http://www.forosdelweb.com/f13/carac...script-490069/
Entonces, para comparar estas dos cadenas tengo que cambiar la que tiene los caracteres 'á', 'è', etc. por la misma con sus correspondientes caracteres especiales, llamando a la función
if (htmlentities(cadena) == miCadena)
Éstas son las funciones:
Código:
function parejas(char, code){
this.char = char;
this.code = code;
}
var pares = new Array();
pares[0] = new parejas("€", "€");
pares[1] = new parejas(String.fromCharCode(225), "á"); //á
pares[2] = new parejas(String.fromCharCode(233), "é"); //é
pares[3] = new parejas(String.fromCharCode(237), "í"); //í
pares[4] = new parejas(String.fromCharCode(243), "ó"); //ó
pares[5] = new parejas(String.fromCharCode(250), "ú"); //ú
pares[6] = new parejas(String.fromCharCode(193), "Á"); //Á
pares[7] = new parejas(String.fromCharCode(201), "É"); //É
pares[8] = new parejas(String.fromCharCode(205), "Í"); //Í
pares[9] = new parejas(String.fromCharCode(211), "Ó"); //Ó
pares[10] = new parejas(String.fromCharCode(218), "Ú"); //Ú
pares[11] = new parejas(String.fromCharCode(224), "à"); //à
pares[12] = new parejas(String.fromCharCode(232), "è"); //è
pares[13] = new parejas(String.fromCharCode(236), "ì"); //ì
pares[14] = new parejas(String.fromCharCode(242), "ò"); //ò
pares[15] = new parejas(String.fromCharCode(249), "ù"); //ù
pares[16] = new parejas(String.fromCharCode(192), "À"); //À
pares[17] = new parejas(String.fromCharCode(200), "È"); //È
pares[18] = new parejas(String.fromCharCode(204), "Ì"); //Ì
pares[19] = new parejas(String.fromCharCode(210), "Ò"); //Ò
pares[20] = new parejas(String.fromCharCode(217), "Ù"); //Ù
pares[21] = new parejas(String.fromCharCode(228), "ä"); //ä
pares[22] = new parejas(String.fromCharCode(235), "ë"); //ë
pares[23] = new parejas(String.fromCharCode(239), "ï"); //ï
pares[24] = new parejas(String.fromCharCode(246), "ö"); //ö
pares[25] = new parejas(String.fromCharCode(252), "ü"); //ü
pares[26] = new parejas(String.fromCharCode(196), "Ä"); //Ä
pares[27] = new parejas(String.fromCharCode(203), "Ë"); //Ë
pares[28] = new parejas(String.fromCharCode(207), "Ï"); //Ï
pares[29] = new parejas(String.fromCharCode(214), "Ö"); //Ö
pares[30] = new parejas(String.fromCharCode(220), "Ü"); //Ü
pares[31] = new parejas(String.fromCharCode(226), "â"); //â
pares[32] = new parejas(String.fromCharCode(234), "ê"); //ê
pares[33] = new parejas(String.fromCharCode(238), "î"); //î
pares[34] = new parejas(String.fromCharCode(244), "ô"); //ô
pares[35] = new parejas(String.fromCharCode(251), "û"); //û
pares[36] = new parejas(String.fromCharCode(194), "Â"); //Â
pares[37] = new parejas(String.fromCharCode(202), "Ê"); //Ê
pares[38] = new parejas(String.fromCharCode(206), "Î"); //Î
pares[39] = new parejas(String.fromCharCode(212), "Ô"); //Ô
pares[40] = new parejas(String.fromCharCode(219), "Û"); //Û
pares[41] = new parejas(String.fromCharCode(231), "ç"); //ç
pares[42] = new parejas(String.fromCharCode(199), "Ç"); //Ç
pares[43] = new parejas(String.fromCharCode(191), "¿"); //¿
pares[44] = new parejas(String.fromCharCode(241), "ñ"); //ñ
pares[45] = new parejas(String.fromCharCode(209), "Ñ"); //Ñ
pares[46] = new parejas(String.fromCharCode(223), "ß"); //ß
function htmlentities(txt) {
for (var i = 0, total = pares.length; i < total; i ++){
txt = txt.replace(new RegExp(pares[i].char, "g"), pares[i].code)
}
return txt;
}
He tenido que usar la función String.fromCharCode(225) en lugar de escribir directamente el caracter "á" porque me fallaba en algunas aplicaciones, no sé todavía por qué.
Pero bueno, esta solución me ha funcionado, aunque sea un poco laboriosa, al menos he conseguido solventar el problema.
Saludos. |