Foros del Web » Programando para Internet » Javascript »

equalsIgnoreCase y trim de java en javascript ... es posible?

Estas en el tema de equalsIgnoreCase y trim de java en javascript ... es posible? en el foro de Javascript en Foros del Web. Hola. Estoy creando una aplicación en la que quiero comparar 2 cadenas, pero quiero hacerlo sin tomar en cuenta si las cadenas tienen mayúsculas o ...
  #1 (permalink)  
Antiguo 25/06/2009, 15:25
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
equalsIgnoreCase y trim de java en javascript ... es posible?

Hola. Estoy creando una aplicación en la que quiero comparar 2 cadenas, pero quiero hacerlo sin tomar en cuenta si las cadenas tienen mayúsculas o minúsculas. Si las comparo con el operador "==" el resultado será true aún si el texto es el mismo.

Por ejemplo, tengo una cadena "Telecater" y otra "TEleCaster", la palabra es la misma sólo que con mayúsculas y minúsculas y si quiero compararlas resulta un false con el operador "==", entonces mi pregunta es si alguien sabrá cómo comparar estas cadenas descartando si en ellas hay mayúsculas o minúsculas?
Gracias y saludos

Última edición por Gguer; 25/06/2009 a las 22:54
  #2 (permalink)  
Antiguo 25/06/2009, 15:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

Puedes convertirlas a minúsculas con el método toLowerCase():
Código Javascript:
Ver original
  1. alert("Telecaster".toLowerCase() == "TEleCaster".toLowerCase());
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/06/2009, 15:49
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

Lo había hecho así, pero no colocaba el método en el if,sino en el instante previo de guardarlas Gracias

Ahora, tengo otra duda, habrá algún método que funcione igual que el trim() de java? Lo que quiero es eliminar los espacios en blanco de la cadena alprincipio y al final, si tiene.
  #4 (permalink)  
Antiguo 25/06/2009, 16:15
 
Fecha de Ingreso: marzo-2009
Ubicación: yokze
Mensajes: 177
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

Hola, aviso, que esta funcion no la he hecho yo, sino que la vi en un script de un ejemplo..total:

Código Javascript:
Ver original
  1. function eliminaEspacios(cadena)
  2. {
  3.     // Funcion para eliminar espacios delante y detras de cada cadena
  4.     while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
  5.     while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
  6.     return cadena;
  7. }
  #5 (permalink)  
Antiguo 25/06/2009, 16:34
 
Fecha de Ingreso: noviembre-2004
Ubicación: Buenos Aires
Mensajes: 34
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

tambien podés simplemente contar los espacios que hay al principio, luego los que hay al final y hacer un solo substr

function trim(cadena) {
var ini;
var fin;
for(ini=0; cadena.charAt(ini)==" "; ++ini);
for(fin = cadena.length-1; cadena.charAt(fin)==" "; --fin);
return cadena.substring(ini,fin);
}
  #6 (permalink)  
Antiguo 25/06/2009, 16:52
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

Gracias a los dos, eso fue lo que hice, contar los espacios al principio y al final, de hecho, las 2 funciones hacen lo mismo.
Saludos
  #7 (permalink)  
Antiguo 25/06/2009, 17:11
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

creo que no son necesarios los bucles. Solo un una expresión regular bastaría:

Código PHP:
function trim(string)
{
    return 
string.replace(/^s*/,'').replace(/s*$/,'');

Éxitos
  #8 (permalink)  
Antiguo 25/06/2009, 17:17
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: equalsIgnoreCase de java en javascript ... se puede?

Actualización:

Perdón. Me equivoqué en la expresión regular:

Lo siento.

Voy a ponerla sin colores para que se vea bien la expresión regular:


Código javascript:
Ver original
  1. function trim(str)
  2. {
  3.     return str.replace(/^\s*/,'').replace(/\s*$/,'');
  4. }

Última edición por jseros; 25/06/2009 a las 17:22 Razón: Problema con el ejemplo
  #9 (permalink)  
Antiguo 25/06/2009, 22:54
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: equalsIgnoreCase y trim de java en javascript ... se puede?

Hola jseros, suena bien esa opción pero ahora me surge la idea de que si uso replace , esta función estaría disponible sólo para javascript 1.2 y ya me metería en broncas de versiones, cosa que quiero evitar.

Gracias de cualquier manera, la tendré en cuenta.

Saludos
  #10 (permalink)  
Antiguo 25/06/2009, 23:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: equalsIgnoreCase y trim de java en javascript ... es posible?

Sólo mencionar que en las FAQ's ya estaba esa pregunta:
http://www.forosdelweb.com/wiki/Mani...B3n_de_strings

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 26/06/2009, 08:31
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: equalsIgnoreCase y trim de java en javascript ... es posible?

kipersonic0 no hay gran lio con eso. Internet Explorer 6 trabaja creo que con JScript 5 que equivaldría a Javascript 1.5.

Si estás trabajando con navegadores no creo que exista algún problema. Ahora, si trabajas con Rhino o algún otro mótor de Javascript, hasta donde tengo entendido deberían estar trabajando con por lo mínimo Javascript 1.7.

Éxitos.
  #12 (permalink)  
Antiguo 26/06/2009, 08:36
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: equalsIgnoreCase y trim de java en javascript ... es posible?

Creo que por rendimiento es mejor usar expresiones regulares que varios bucles.

En las FAQ que cita David muestra una forma de hacerlo mediante bucles. El while ejecuta en cada ciclo a la función charAt lo cual aumenta el consumo de CPU.

Sin embargo, es de tu decisión la técnica que quieras utilizar.

Éxitos.
  #13 (permalink)  
Antiguo 26/06/2009, 11:40
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: equalsIgnoreCase y trim de java en javascript ... es posible?

Oh! Gracias por la información, es bastante útil. Tomaré en cuenta tus palabras, es verdad, no creo que haya mucha gente que siga trabajando con versiones anteriores a 1.2.

Gracias
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 01:10.