Foros del Web » Programando para Internet » Javascript »

Epale como validar texto pero para utilizarlo luego en ...

Estas en el tema de Epale como validar texto pero para utilizarlo luego en ... en el foro de Javascript en Foros del Web. La cuestion es que tengo un campo texto, y quiero validar del lado del cliente los datos que va a introducir, osea que sean solo ...
  #1 (permalink)  
Antiguo 07/06/2005, 15:13
Avatar de fenix4  
Fecha de Ingreso: noviembre-2001
Ubicación: Caracas
Mensajes: 226
Antigüedad: 22 años, 5 meses
Puntos: 1
Epale como validar texto pero para utilizarlo luego en ...

La cuestion es que tengo un campo texto, y quiero validar del lado del cliente los datos que va a introducir, osea que sean solo caracteres, vi la función isNaN(texto_capturado) en los FAQs pero no se si acepta caracteres especiales y cuales, ya que como se va a usar en un select de ASP especificamente en un LIKE %'texto_capturado'% no me interesa que me acepte ni "/", "%" pero si ñ y Ñ, ademas de detras con acento.

En los FAQs aparecen muchas validaciones de numeros pero no consegui nada parecido, trate de hacer algo con las expresiones regulares, pero no entendi mucho, apenas estoy comenzando a utilizar Jscript

GRacias de Antemano
__________________
S.L.P.S.
  #2 (permalink)  
Antiguo 07/06/2005, 15:51
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
var filter = /^[a-z0-9á-úñ_\-]+$/i;

if (!filter.test(texto_capturado))
{
no es valido
}


eso valida solo letras, numeros, guion bajo y guion
  #3 (permalink)  
Antiguo 08/06/2005, 06:26
Avatar de fenix4  
Fecha de Ingreso: noviembre-2001
Ubicación: Caracas
Mensajes: 226
Antigüedad: 22 años, 5 meses
Puntos: 1
Gracias Sir carajodida,
Y si quiero que no valide numeros lo dejo así??

var filter = /^[a-zá-úñ_\-]+$/i;
__________________
S.L.P.S.
  #4 (permalink)  
Antiguo 08/06/2005, 09:07
Avatar de fenix4  
Fecha de Ingreso: noviembre-2001
Ubicación: Caracas
Mensajes: 226
Antigüedad: 22 años, 5 meses
Puntos: 1
Otra cosa como hago para que me acepte más de una palabra?
__________________
S.L.P.S.
  #5 (permalink)  
Antiguo 08/06/2005, 12:18
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
para que tome espacios no me acuerdo si era \b o \s

proba:
var filter = /^[a-zá-úñ_\-\b]+$/i;
o
var filter = /^[a-zá-úñ_\-\s]+$/i;
  #6 (permalink)  
Antiguo 08/06/2005, 12:48
Avatar de fenix4  
Fecha de Ingreso: noviembre-2001
Ubicación: Caracas
Mensajes: 226
Antigüedad: 22 años, 5 meses
Puntos: 1
LISTO!!! gracias a todos!!

Me quedo así, y de paso quita los espacios dobles, del principio y del final!! ;)

Código:
function validar(s){
// permite una o dos palabras con un solo espacio
var msk_w = /^([a-zá-úñ_\-]+\s?)+$/i

// eliminamos los espacios a ambos lados de la cadena
// y si existe mas de un espacio entre las palabras 
// la replazamos por un solo espacio
var st = s.value.replace(/(^\s*)|(\s*$)/g, "").replace(/\s+/g," ");

// comprobamos si es valida la cadena
var tof = msk_w.test(st);
	if(tof){
	s.value = st;	    
		//alert(tof + " -> \"" + st + "\"");
		return false;
	}
	else{		
		alert("Palabra clave invalida");
		//alert(tof + " -> \"" + st + "\"");
		return true;
	}
}
__________________
S.L.P.S.
  #7 (permalink)  
Antiguo 08/06/2005, 12:56
Avatar de fenix4  
Fecha de Ingreso: noviembre-2001
Ubicación: Caracas
Mensajes: 226
Antigüedad: 22 años, 5 meses
Puntos: 1
OJO esto lo tome del FORO y lo que hice fue modificarlo para que validara varias palabras.
__________________
S.L.P.S.
  #8 (permalink)  
Antiguo 13/06/2005, 12:07
Avatar de fenix4  
Fecha de Ingreso: noviembre-2001
Ubicación: Caracas
Mensajes: 226
Antigüedad: 22 años, 5 meses
Puntos: 1
Le agrege un detalle, ya que si la persona agregaba un texto, y luego de hacer un cambio en otro campo queria dejar el primer campo en blanco, daba un error.

Solo valide que el campo estuviese lleno, antes de hacer toda la validación.

Código:
function validar_char(s){
if(s.value == null ){

// permite una o dos palabras con un solo espacio
var msk_w = /^([a-zá-úñ_\-]+\s?)+$/i

// eliminamos los espacios a ambos lados de la cadena
// y si existe mas de un espacio entre las palabras 
// la replazamos por un solo espacio
var st = s.value.replace(/(^\s*)|(\s*$)/g, "").replace(/\s+/g," ");

// comprobamos si es valida la cadena
var tof = msk_w.test(st);
	if(tof){
	s.value = st;	    
		//alert(tof + " -> \"" + st + "\"");
		return false;
	}
	else{		
		alert("Palabra clave invalida");
		//alert(tof + " -> \"" + st + "\"");
		return true;
	}
	}
}
__________________
S.L.P.S.
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 05:03.