Foros del Web » Programando para Internet » Javascript »

comprobar letras y numeros dentro de un text box en formulario

Estas en el tema de comprobar letras y numeros dentro de un text box en formulario en el foro de Javascript en Foros del Web. alguien podria decirme como comprobrar del lado del cliente, las letras y/o numero dentro de un text box. por ejemplo: GAFA801906TB8 en este caso mi ...
  #1 (permalink)  
Antiguo 28/02/2007, 22:40
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
comprobar letras y numeros dentro de un text box en formulario

alguien podria decirme como comprobrar del lado del cliente, las letras y/o numero dentro de un text box. por ejemplo:

GAFA801906TB8

en este caso mi duda seria, comprobar cada una de las posiciones del texto, que:

1.- las primeras cuatro sean letras,
2.- las 6 siguientes, solo y solo numeros,
3.- la ultima parte puede ser combinacion de letras y numeros

recuerdo que en VB6, utilizabamos algo asi como buscar por posicion, despues comprobar esa posicion, si era dentro del rango de 48 a 64, para numeros, y asi sucesivamente; tengo una nocion.... pero... aki no se interpretarlo...

pudiera alguien?
  #2 (permalink)  
Antiguo 01/03/2007, 09:17
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: comprobar letras y numeros dentro de un text box en formulario

Puedes hacer con expresiones regulares. Esta pienso que te serviría

/[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]+/

Alguna duda, la preguntas.

Saludos.
  #3 (permalink)  
Antiguo 01/03/2007, 13:50
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: comprobar letras y numeros dentro de un text box en formulario

wigglyUtrera; pero en este caso como la evaluo?

en ONCHANGE? o en ONKEYPRESS?

pudieras escribir un ejemplo?
  #4 (permalink)  
Antiguo 01/03/2007, 15:23
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: comprobar letras y numeros dentro de un text box en formulario

si es un campo de texto: onkeyup seria mejor.

Eso es una expresion regular. Te pongo un ejemplo de uso:

cadena = "abcd756423a796as"
expreg = /[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]+/;
if(expreg.test(cadena)){
AQUI LO QUE QUIERAS QUE HAGA SI LA CADENA ES CORRECTA
}
else{
AQUI SI NO ES CORRECTO
}

Saludos.
  #5 (permalink)  
Antiguo 01/03/2007, 15:46
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: comprobar letras y numeros dentro de un text box en formulario

esto significa que si creo una funcion
digamoslo de esta forma
Código:
function valido(form)
{
cadena = document.C1.criterio.value;

expreg = /[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]+/;

suponiendo claro esta que al enviar este formulario, en el submit evalue el campo dado la opcion seleccionada con RFC, asi seria verdad?

if (document.form.opcion.selectedIndex==2)
	{
	if(expreg.test(cadena))
		{
			document.form.submit()
		}
	else
		{
			alert("No es un RFC Correcto, por favor verifique")
			document.form.criterio.focus();
               return 0;
		}
	}
</script>
debemos suponer que el usuario, inserto un esas letras y este elijio de una lista desplegable, que se buscase por esta opcion, lo verificariamos asi.

escribo el formulario
Código:
<form method="post" action="a donde lo mande" onSubmit="return valido()">
<input name="criterio" type="text" size="15" />
<select name="opcion">
                  <option value="0">Matricula</option>
                  <option value="1">Nombre</option>
                  <option value="2">RFC</option>
                  <option value="3">CURP</option>
</select>
<input type="submit" name="mostrar" value="Mostrar" />
</form>
estara bien de esta manera?

estare probando el codigo, ya no debo tener errores
si puesto el codigo de esta manera funciona perfecto, que lo mas seguro es que asi sea, posteare el codigo de la funcion y el formulario por si alguien ocupase, de antemano gracias por la ayuda
  #6 (permalink)  
Antiguo 01/03/2007, 17:14
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: comprobar letras y numeros dentro de un text box en formulario

la funcion valido segun esta definida se le pasa un parametro y sin embargo en HTML no tiene ningun parametro.

yo pondria: onsubmit="return valido(this);"

Código PHP:
<script>
function 
valido(form)
{
cadena form.criterio.value;
expreg = /[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]+/;
ret true;

if (
form.opcion.selectedIndex==2)
    {
    if(
expreg.test(cadena))
            
form.submit();
    else{
            
alert("No es un RFC Correcto, por favor verifique");
            
form.criterio.focus();
            
ret false;
    }

    return 
ret;
}
</script> 

Última edición por wigglyUtrera; 01/03/2007 a las 17:20
  #7 (permalink)  
Antiguo 01/03/2007, 18:35
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: comprobar letras y numeros dentro de un text box en formulario

mira, correji el codigo, lo utilice de acuerdo a lo que hablamos, de esta manera

Código:
----- --- --- -- -- -- -- -- -- - -- - -- EL SCRIPT
<script language="javascript">
function valido_rfc(form)
{
cadena = document.C1.criterio.value;
expreg = /[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]+/;
ret=true;
if (document.C1.opcion.selectedIndex==2)
	{
	if(expreg.test(cadena))
		{document.C1.submit();}
	else
		{alert("No es un RFC Correcto, por favor verifique");
			document.C1.criterio.focus();
			ret=false;}
		return ret;}
}
</script>
AHORA EL FORMULARIO
------ - -- - - --  
<form name="C1" method="post" onSubmit="return valido_rfc()">
<input name="criterio" type="text" size="15" />
<select name="opcion">
    <option value="0">Matricula</option>
    <option value="1">Nombre</option>
    <option value="2">RFC</option>
    <option value="3">CURP</option>
</select>
<input type="submit" name="mostrar" value="Mostrar" />
</form>
pero lo mas gracioso ahora es que, aunque escriba ABBA763412, aun asi me sigue diciendo que es invalido, habre puesto algo incorrecto?
  #8 (permalink)  
Antiguo 01/03/2007, 18:52
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: comprobar letras y numeros dentro de un text box en formulario

me equivoque yo, me creia que tenia que haber al final una letra:

cambia esto:

/[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]+/;

por:

/[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]*/;


Ahora debe funcionar correctamente.

Saludos.
  #9 (permalink)  
Antiguo 01/03/2007, 20:11
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: comprobar letras y numeros dentro de un text box en formulario

excelente, quedo, simplemente con poner el * quedo perfecto, ahora si permite la evaluacion, muchisimas gracias, nos estamos mirando aki. lo prometido es deuda, aki esta el codigo, por si se ocupa,

Código:
<script language="javascript">
function valido_rfc(form)
{
cadena = document.C1.criterio.value;
expreg = /[a-zA-Z]{4}[0-9]{6}[a-zA-Z0-9]*/;
ret=true;
if (document.C1.opcion.selectedIndex==2)
	{
        if(expreg.test(cadena))
		{
                document.C1.submit();}
	else
		{
                alert("No es un RFC Correcto, por favor verifique");
                document.C1.criterio.focus();ret=false;}
}
return ret;
}
</script>
Quedo funcionando perfectamente, gracias a wigglyUtrera, por la asesoria
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 07:50.