Foros del Web » Programando para Internet » Javascript »

Datos en un campo de texto que coincidan con los de un array.

Estas en el tema de Datos en un campo de texto que coincidan con los de un array. en el foro de Javascript en Foros del Web. Hola, bueno tengo el siguiente problema... Lo que Quiero hacer es que en un campo de texto los datos que ingrese el usuario si coinciden ...
  #1 (permalink)  
Antiguo 18/06/2010, 16:02
Avatar de echoTREBOR  
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela inc.
Mensajes: 56
Antigüedad: 14 años, 1 mes
Puntos: 2
Datos en un campo de texto que coincidan con los de un array.

Hola, bueno tengo el siguiente problema...

Lo que Quiero hacer es que en un campo de texto los datos que ingrese el usuario si coinciden con los de un Array realice una acción.


Cuando realizo algo asi, me funca bien con un solo valor...


var PALABRAS = "hola";

if (valordelcampo.match(PALABRAS)) {...}

Pero cuando intento agregarle mas valores a la variable de esta forma no me funciona.

var PALABRAS = ["hola", "hello", "hi"]; //e intentado con paréntesis y me funciona con el ultimo valor nada mas.


LO QUE QUIERO REALIZAR ES:

almacenar una cantidad de palabras que si llega a coincidir una de esas palabras con la palabra que coloco el usuario realice una acción.

Última edición por echoTREBOR; 18/06/2010 a las 16:26
  #2 (permalink)  
Antiguo 18/06/2010, 17:33
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Datos en un campo de texto que coincidan con los de un array.

Prueba así
Código Javascript:
Ver original
  1. function check(){
  2.  var palabras = new Array();
  3.   palabras[0] = 'hola';
  4.   palabras[1] = 'hello';
  5.   palabras[2] = 'hi';
  6.  for (i=0; i<palabras.length; i++){
  7.   if(valordelcampo.match(palabras[i])){
  8.    alert('coincide!');
  9.   }else{
  10.    alert('no coincide!');
  11.   }
  12.  }
  13. }

Saludos (:
  #3 (permalink)  
Antiguo 19/06/2010, 13:27
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Datos en un campo de texto que coincidan con los de un array.

Hola

Sería algo como esto
Código Javascript:
Ver original
  1. var palabras= ['hola','hello','hi'];
  2. var valor = 'hello';
  3. for (var i in palabras) {
  4. if (valor.match(palabras[i])){
  5. document.write(palabras[i]);
  6. }
  7. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 19/06/2010, 13:30
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Datos en un campo de texto que coincidan con los de un array.

¿Eso significa que si no es hello lo escriba? Pero él lo que quiere es comprobar si coincide
  #5 (permalink)  
Antiguo 19/06/2010, 13:32
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Datos en un campo de texto que coincidan con los de un array.

Cita:
Iniciado por _cronos2 Ver Mensaje
¿Eso significa que si no es hello lo escriba? Pero él lo que quiere es comprobar si coincide
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 19/06/2010, 14:34
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Datos en un campo de texto que coincidan con los de un array.

Ah vale, esque antes el código era diferente.
  #7 (permalink)  
Antiguo 19/06/2010, 14:39
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: Datos en un campo de texto que coincidan con los de un array.

no hace falta ni usar bucle para coincidir varias palabras. digo, o al menos yo lo haria con expresiones regulares.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 19/06/2010 a las 20:40 Razón: gramatica
  #8 (permalink)  
Antiguo 19/06/2010, 15:39
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Datos en un campo de texto que coincidan con los de un array.

¿Y cómo sería con expresiones regulares?
Saludos (:
  #9 (permalink)  
Antiguo 19/06/2010, 21:03
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: Datos en un campo de texto que coincidan con los de un array.

Código:
var text = "hi", words = ['hola', 'hello', 'hi'];
if(RegExp("^("+words.join("|")+")$").test(text)){
alert("palabra coincide");
} else alert("no hay coincidencia");
no hace falta un array de palabras pero segun sea el caso de cada persona puede ser mas manejable.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 20/06/2010, 13:31
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Datos en un campo de texto que coincidan con los de un array.

Cita:
Iniciado por zerokilled Ver Mensaje
Código:
var text = "hi", words = ['hola', 'hello', 'hi'];
if(RegExp("^("+words.join("|")+")$").test(text)){
alert("palabra coincide");
} else alert("no hay coincidencia");
no hace falta un array de palabras pero segun sea el caso de cada persona puede ser mas manejable.
Excelente manera de resolverlo
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 20/06/2010, 18:03
Avatar de echoTREBOR  
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela inc.
Mensajes: 56
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Datos en un campo de texto que coincidan con los de un array.

Cita:
Iniciado por zerokilled Ver Mensaje
Código:
var text = "hi", words = ['hola', 'hello', 'hi'];
if(RegExp("^("+words.join("|")+")$").test(text)){
alert("palabra coincide");
} else alert("no hay coincidencia");
no hace falta un array de palabras pero segun sea el caso de cada persona puede ser mas manejable.

hola Zero... se ve algo interesante tu ejemplo pero de verdad no logro entenderlo ni adaptarlo a lo que estoy realizando.

básicamente lo que busco es almacenar una cantidad de palabras.

y en un campo de texto si una persona escribe cualquiera de esas palabras. le cambie el color al campo de texto.

Etiquetas: campos
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:12.