Foros del Web » Programando para Internet » Javascript »

Existira esta funcion??

Estas en el tema de Existira esta funcion?? en el foro de Javascript en Foros del Web. Necesito una funcion que me devuelva true si existe cierto caracter en una cadena.. muchas gracias de antemano :)...
  #1 (permalink)  
Antiguo 14/05/2011, 16:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Existira esta funcion??

Necesito una funcion que me devuelva true si existe cierto caracter en una cadena.. muchas gracias de antemano :)
  #2 (permalink)  
Antiguo 14/05/2011, 16:35
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Existira esta funcion??

¿Probaste indexOf?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 14/05/2011, 16:40
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Existira esta funcion??

buenas,
mas que indexOf yo diria test de las expresiones regulares. ¿por que? porque indexOf devuelve un numero, cuando no encuentra una coincidencia devuelve negativo uno, y eso convertido a boolean evalua a true dando a entender que hubo una coincidencia.

saludos
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 14/05/2011, 17:27
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Existira esta funcion??

En terminos de performance debe ser menos costoso usar indexOf y no regexp.
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 14/05/2011, 17:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Existira esta funcion??

bueno, si... subestime un detalle. solo va buscar un caracter.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 14/05/2011, 17:35
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Existira esta funcion??

Cita:
Iniciado por Aijoona Ver Mensaje
En terminos de performance debe ser menos costoso usar indexOf y no regexp.
En principio sí, pero ponte a validar un email con indexOf en vez de con regexps
Saludos :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 14/05/2011, 17:41
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Existira esta funcion??

@_cronos2, en ese sentido tienes razon pero es distinto. validar un email es mas facil con un patron dado las multiples posibilidades. pero en este caso se trata de la ocurrencia de un solo caracter. yo me fui mas por la idea de una funcion nativa que devolviera un valor tipo boolean, que era lo que buscaba el autor. ahora, si se trata de multiples caracteres, entonces seria mejor una expresion regular.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 14/05/2011, 18:02
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Existira esta funcion??

Mi criterio seria usar RegExp si la busqueda no es un string definido, indistintamente de la cantidad de caracteres a buscar.
__________________
blog | @aijoona
  #9 (permalink)  
Antiguo 14/05/2011, 18:21
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Existira esta funcion??

Entonces podría hacer algo como esto:
Código Javascript:
Ver original
  1. String.prototype.buscar = function(que){
  2.  return {
  3.   'function' : que.test(this),
  4.   'string' : this.indexOf(que) > -1
  5.  }[typeof que];
  6. }
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #10 (permalink)  
Antiguo 14/05/2011, 18:24
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Existira esta funcion??

Detectar tipos con typeof puede ser un problema por los falsos positivos. Te aconsejaría usar la siguiente técnica:

Código Javascript:
Ver original
  1. Object.prototype.toString.call(/a/); // "[object RegExp]
  2. Object.prototype.toString.call([]); // "[object Array]"
__________________
blog | @aijoona

Etiquetas: funcion
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 11:09.