Validar solo numeros y 10 espacios

52362 visitas 10 respuestas

Hola amigos a ver si me pueden hechar una mano necesito realizar una validacion de un campo el cual solo permita ingresar numeros y solo 10 caracteres en este caso deben ser solo numeros es decir 10 numeros

Gracias

por cesar desde Ecuador

Registrado desde: 06 Jan 06

Respuestas

1 0

Primero la parte mas sencilla. Para limitar los datos introducidos en un input se hace con 'maxlength' de esta forma por ejemplo:

<input type="text" maxlength="10" size="10" name="dato" />

La segunda parte, sencilla tambien.

Para lograr que solo se puedan introducir numeros en el textbox puedes hacer lo siguiente.

<input type="text" maxlength="10" size="10" name="dato" onkeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" />

Con el evento onkeypress conseguimos que cada vez que se pulse una tecla dentro del input se ejecute el siguiente codigo javascript, y ese trozo de codigo no nos permite introducir en el input ningun valor que este fuera del rango de las teclas 45-57 que son los numeros.

por MartinY desde España

Registrado desde: 03 Jan 05
0 0

Muchas gracias lo voy a probar y te aviso pero creo qu deley funciona

gracias

por cesar desde Ecuador

Registrado desde: 06 Jan 06
0 0

Ya lo probe y me funciona bien pero lo que decia que necesito es validar que el usuario ingrese 10 digitos no 1 ni 2 sino que ingresen 10 digitos que corresponden a su clave personal no puede ser menos de 10

por cesar desde Ecuador

Registrado desde: 06 Jan 06
0 0

Se puede hacer fácil con javascript. A manera de ejemplo y redondeando el código de MartinY:

<head> 
<script type="application/x-javascript">
function validar(formulario){
      if (formulario.dato.value.length != 10)
           { alert("Debe introducir una contraseña de 10 dígitos")}
}
</script> 
</head> 

Es la función que verifica que el dato tenga 10 dígitos y muestra un alert si no. Ahora el formulario:

<form method=post onSubmit="return validar(this)">
<input type="text" maxlength="10" size="10" name="dato" onkeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" />
...
</form>
...

Y eso debe funcionar.

por ThinIce desde Colombia

Registrado desde: 05 Jul 06
0 0

Hola que tal saben que ya probe este codigo y aun asi esten los 10 digitos sigue saliendo el mensaje que dice que debe tener 10 digitos incluso cambie por:

if (document.form1.txtclave.length ==10) 

y tampoco funciona a ver si me hechan una mano

if (document.form1.txtclave.length !=10)
    { 
    alert('SU CONTRASEÑA ES SU NUMERO DE CEDULA DE 10 DIGITOS');
    document.form1.txtclave.focus();return;
    }
`` 

por cesar desde Ecuador

Registrado desde: 06 Jan 06
0 0

Asegúrete que estás referenciando correctamente el formulario y la variable por su nombre. Estás olvidando una cosita en tu condición:

document.form1.txtclave.length !=10, 

y debe ser

document.form1.txtclave.value.length !=10. 

En tu caso, txtclave es el [u]nombre de la variable[/u] que contiene el valor que digitó el usuario, por eso la notación. (form1 está definido?)

Lee más detenidamente el ejemplo que ta mandé antes y verás... Si no, puedes usar la notación del array en que se guardan los forms y sus variables:

 document.forms[0].elements[0].value!=10, 

para la primera variable del primer formulario de la página y así sucesivamente. Espero que ahora si funcione!

por ThinIce desde Colombia

Registrado desde: 05 Jul 06
0 0

Perdon por mi ingnorancia, el evento onkepress() funciona a la perfeccion en todos los navegadores?????

por ckricked desde Bolivia

Registrado desde: 06 Nov 06
0 0

lamentablemente onkeypress no funciona en firefox

por neo1982 desde Perú

Registrado desde: 12 Sep 07
0 0

Hola que tal estuve buscando algunos codigos de validacion de campos 'solo numericos' y me di con este foro, bueno me funciono y segui leyendo y vi que decia q en Firefox no funciona... cosa que probe y lo confirme... bueno yo no soy de usar tanto el explorer, es mas uso otro navegadores "mas importantes" del medio sea Mozilla Firefox, Opera y Safari... solo quisiera saber si existe algun codigo javascript que haga lo mismo que en explorer, es decir, que no permita el ingreso de campos numericos?... espero me puedan ayudar ya que seria importante que funcione en distintos navegadores...

Ahh y bueno una posible solucion que le daria es usar la validacion de PHP que colocaron, ya que ahi si me muestra un mensaje que debo ingresar solo datos numericos....

por pedrolp desde Perú

Registrado desde: 22 Jul 09
0 0

Holas probe el codigo

 [ onkeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" ] 

y no me funka, sera por que tengo una funcion jquery que lo validay hace interferencia .Que me recomiendan

Saludos

por chacovaca desde Perú

Registrado desde: 23 Feb 11