Foros del Web » Programando para Internet » Jquery »

Quitar acentos con Jquery | replace()

Estas en el tema de Quitar acentos con Jquery | replace() en el foro de Jquery en Foros del Web. Hola compañer@s! El caso, que estoy apuntito de implementar un pequeño jQuery para borrar los acentos de un submit. Mi duda es cómo puedo hacer ...
  #1 (permalink)  
Antiguo 30/03/2011, 10:51
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Quitar acentos con Jquery | replace()

Hola compañer@s!

El caso, que estoy apuntito de implementar un pequeño jQuery para borrar los acentos de un submit. Mi duda es cómo puedo hacer una cadena de acentos con replace() en jquery. Mi código:

Código PHP:
    $('#search').submit(function() {
        
url = $(this).find("#Buscador").val().replace('à','a');
        
window.open("http://www.laweb.es/buscar?q="+url,"_self");
          return 
false;
    }); 
Cómo veis, funciona perfectamente con una letra, pero no se cómo hacer una cadena de letras con acentos.

No se mucho de JQuery y cómo funcionan sus Expresiones regulares.

¿Alguna ayuda/idea?
__________________
http://www.idilicstudio.com
  #2 (permalink)  
Antiguo 30/03/2011, 13:49
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Quitar acentos con Jquery | replace()

Que tal tonimito,

Hay plugins para eso, te dejo uno http://www.thewebsitetailor.com/jquery-slug-plugin/, en caso de querer hacerlo tú, deberias buscar sobre expresiones regulares en el foro, hay mucho material sobre el tema.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 31/03/2011, 02:59
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Respuesta: Quitar acentos con Jquery | replace()

Gracias masterpuppet!

Me lo miro, pero la verdad es que me estoy volviendo loco con las expresiones regulares con JQuery, no encuentro el modo de hacer un array y que me recorra y substituya los acentos!!!

Esto "ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÑñÇ ç",
por "AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunnc c";

Nadie me echa un cable???
__________________
http://www.idilicstudio.com
  #4 (permalink)  
Antiguo 31/03/2011, 04:00
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Respuesta: Quitar acentos con Jquery | replace()

Bueno, pareece ser que lo he conseguido, lo dejo aquí para la posteridad:

Código PHP:
        $('#search').submit(function() {
            function 
remove_accent(str) {var map={'À':'A','Á':'A','Â':'A','Ã':'A','Ä':'A','Å':'A','Æ':'AE','Ç':'C','È':'E','É':'E','Ê':'E','Ë':'E','Ì':'I','Í':'I','Î':'I','Ï':'I','Ð':'D','Ñ':'N','Ò':'O','Ó':'O','Ô':'O','Õ':'O','Ö':'O','Ø':'O','Ù':'U','Ú':'U','Û':'U','Ü':'U','Ý':'Y','ß':'s','à':'a','á':'a','â':'a','ã':'a','ä':'a','å':'a','æ':'ae','ç':'c','è':'e','é':'e','ê':'e','ë':'e','ì':'i','í':'i','î':'i','ï':'i','ñ':'n','ò':'o','ó':'o','ô':'o','õ':'o','ö':'o','ø':'o','ù':'u','ú':'u','û':'u','ü':'u','ý':'y','ÿ':'y','Ā':'A','ā':'a','Ă':'A','ă':'a','Ą':'A','ą':'a','Ć':'C','ć':'c','Ĉ':'C','ĉ':'c','Ċ':'C','ċ':'c','Č':'C','č':'c','Ď':'D','ď':'d','Đ':'D','đ':'d','Ē':'E','ē':'e','Ĕ':'E','ĕ':'e','Ė':'E','ė':'e','Ę':'E','ę':'e','Ě':'E','ě':'e','Ĝ':'G','ĝ':'g','Ğ':'G','ğ':'g','Ġ':'G','ġ':'g','Ģ':'G','ģ':'g','Ĥ':'H','ĥ':'h','Ħ':'H','ħ':'h','Ĩ':'I','ĩ':'i','Ī':'I','ī':'i','Ĭ':'I','ĭ':'i','Į':'I','į':'i','İ':'I','ı':'i','IJ':'IJ','ij':'ij','Ĵ':'J','ĵ':'j','Ķ':'K','ķ':'k','Ĺ':'L','ĺ':'l','Ļ':'L','ļ':'l','Ľ':'L','ľ':'l','Ŀ':'L','ŀ':'l','Ł':'L','ł':'l','Ń':'N','ń':'n','Ņ':'N','ņ':'n','Ň':'N','ň':'n','ʼn':'n','Ō':'O','ō':'o','Ŏ':'O','ŏ':'o','Ő':'O','ő':'o','Œ':'OE','œ':'oe','Ŕ':'R','ŕ':'r','Ŗ':'R','ŗ':'r','Ř':'R','ř':'r','Ś':'S','ś':'s','Ŝ':'S','ŝ':'s','Ş':'S','ş':'s','Š':'S','š':'s','Ţ':'T','ţ':'t','Ť':'T','ť':'t','Ŧ':'T','ŧ':'t','Ũ':'U','ũ':'u','Ū':'U','ū':'u','Ŭ':'U','ŭ':'u','Ů':'U','ů':'u','Ű':'U','ű':'u','Ų':'U','ų':'u','Ŵ':'W','ŵ':'w','Ŷ':'Y','ŷ':'y','Ÿ':'Y','Ź':'Z','ź':'z','Ż':'Z','ż':'z','Ž':'Z','ž':'z','ſ':'s','ƒ':'f','Ơ':'O','ơ':'o','Ư':'U','ư':'u','Ǎ':'A','ǎ':'a','Ǐ':'I','ǐ':'i','Ǒ':'O','ǒ':'o','Ǔ':'U','ǔ':'u','Ǖ':'U','ǖ':'u','Ǘ':'U','ǘ':'u','Ǚ':'U','ǚ':'u','Ǜ':'U','ǜ':'u','Ǻ':'A','ǻ':'a','Ǽ':'AE','ǽ':'ae','Ǿ':'O','ǿ':'o'};var res='';for (var i=0;i<str.length;i++){c=str.charAt(i);res+=map[c]||c;}return res;}
            
url remove_accent($(this).find("#Buscador").val().replace(' ','+'));
            
idioma = $(this).find("#lang").val();
            
window.open("http://www.laweb.es/es/buscar?q="+url+"&lang="+idioma,"_self");
            return 
false;
        }); 
__________________
http://www.idilicstudio.com
  #5 (permalink)  
Antiguo 07/12/2011, 05:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Quitar acentos con Jquery | replace()

Tonimito.

Gracias por poner la solución tío.

Saludos.

Etiquetas: acentos, javascript, replace()
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:01.