Foros del Web » Programando para Internet » Javascript »

Validar campo input

Estas en el tema de Validar campo input en el foro de Javascript en Foros del Web. Hola a todos. Tengo el siguiente problema. En un campo input de longitud 7 tengo que validar que no se introducen espacios, que solo se ...
  #1 (permalink)  
Antiguo 21/08/2009, 03:09
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 3 meses
Puntos: 0
Validar campo input

Hola a todos.
Tengo el siguiente problema. En un campo input de longitud 7 tengo que validar que no se introducen espacios, que solo se introduzcan números, y que no se introduzca un valor que sea 0 (ni 00, ni 000, ni ...... 000000.0) y no se como hacerlo.
Si se introducen los ceros, debería mostrar un mensaje al lado del campo para introduzca un valor válido.
Tengo el siguiente código para validar los espacios y los nº, pero no se como comprobar lo de los ceros.
<script>
function validar_texto(e){
tecla = (document.all) ? e.keyCode : e.which;

//Tecla de retroceso para borrar, siempre la permite
if (tecla==8){
return true;
}
// Comprueba que no se introduce espacio
if (!tecla) {
return (false);
}
// Patron de entrada, en este caso solo acepta numeros
patron =/[0-9]/;
tecla_final = String.fromCharCode(tecla);
return patron.test(tecla_final);
}
</script>


Muchas gracias
  #2 (permalink)  
Antiguo 21/08/2009, 06:03
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campo input

Hola

No lo he probado pero podría ser algo así

^[^0]+[\d]

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;" />
  #3 (permalink)  
Antiguo 21/08/2009, 08:55
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Validar campo input

Escribi hace tiempo una funcion que solo acepta numeros. En esta ocasion, la modifique poquito para rechazar el digito zero (code === 48), haber si te sirve:

Código PHP:
<input id="numeros">

<
script>
function 
numerosUnicamente(e) {
    var 
|| window.event,
        
code e.which || e.keyCode;

    if (
code 48 && code <= 57 || code === || code === || code === 13 || code === 27) {
        return 
true;
    } 
    else {
        return 
false
    
}
}

document.getElementById('numeros').onkeypress numerosUnicamente;
</script> 
NOTA: La puedo modificar ampliamente, solo comenta que otras reglas o caracteristicas deseas.

Edit:
8 - Backspace
9 - Tab
13 - Keypad Enter
27 - Escape
48 - 0
49 - 1
50 - 2
51 - 3
52 - 4
53 - 5
54 - 6
55 - 7
56 - 8
57 - 9

Última edición por goyo_; 21/08/2009 a las 09:00
  #4 (permalink)  
Antiguo 21/08/2009, 12:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campo input

Hola

goyo fíjate que no es no quiera que se inserten ceros, sin que el primer carácter de la cadena no se un cero. De ahí que use expresiones regulares
__________________
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;" />
  #5 (permalink)  
Antiguo 21/08/2009, 13:49
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Validar campo input

Cita:
Iniciado por Adler Ver Mensaje
Hola

goyo fíjate que no es no quiera que se inserten ceros, sin que el primer carácter de la cadena no se un cero. De ahí que use expresiones regulares
Ah, buen punto Adler! Tras esa logica modifique la funcion. El numero 0 no puede ser la primera caracter, sin embargo puede aparacer despues de ella:

Código PHP:
<input id="numeros">

<
script>
function 
numerosUnicamente(e) {
    var 
|| window.event,
        
code e.which || e.keyCode;
        
    if (
code === 48 && !this.value.length) {
        return 
false;
    }
    else if (
code >= 48 && code <= 57 || code === || code === || code === 13 || code === 27) {
        return 
true;
    } 
    else {
        return 
false
    
}
}

document.getElementById('numeros').onkeypress numerosUnicamente;
</script> 
  #6 (permalink)  
Antiguo 21/08/2009, 14:27
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: Validar campo input

Para este tipo de cosas lo mejor es usar regular expressions.

Busca informacion porque son muy utiles.
  #7 (permalink)  
Antiguo 21/08/2009, 14:36
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campo input

Cita:
Iniciado por GagleKas Ver Mensaje
Para este tipo de cosas lo mejor es usar regular expressions.

Busca informacion porque son muy utiles.
.... ¿qué tal esta?
__________________
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;" />
  #8 (permalink)  
Antiguo 02/09/2009, 07:40
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Validar campo input

Muchas gracias a todos. Con el código de goyo_ sigo pudiendo poner el 0 delante de cualquier nº.

Un saludo.

Última edición por pinguinogil; 02/09/2009 a las 07:49
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 14:16.