Foros del Web » Programando para Internet » Javascript »

ayuda validar 2 campos no letras, no partir con 0, etc.

Estas en el tema de ayuda validar 2 campos no letras, no partir con 0, etc. en el foro de Javascript en Foros del Web. Estimados, he buscado y no he encontrado exactamente lo que quiero, trate de mezclar par de codigos pero no me resulto, siempre encontraba codigo por ...
  #1 (permalink)  
Antiguo 17/01/2009, 19:58
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 303
Antigüedad: 20 años, 9 meses
Puntos: 0
ayuda validar 2 campos no letras, no partir con 0, etc.

Estimados,

he buscado y no he encontrado exactamente lo que quiero, trate de mezclar par de codigos pero no me resulto, siempre encontraba codigo por separado de como validar textfield html/php por ejemplo que solo pueda ingresar numeros, pero sumarle mas condiciones es lo que no he podido hacer.

Basicamente tengo 2 textfield o campos, y quiero validar lo siguiente:

1. solo ingreso de numeros
2. que no pueda ingresar 0, como primer numero
3. el numero ingresado en el campo 2 sea menor que el del campo 1

como les mencione encontre varios ejemplos
por ejemplo encontre este codigo para no ingresar letras
Código:
function acceptNum(evt){ 
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57 
var key = nav4 ? evt.which : evt.keyCode; 
return (key <= 13 || (key >= 48 && key <= 57));
}
tambien probe con este:
Código:
<script language="javascript" type="text⁄javascript">   

function validar(formu) {   
       
    ⁄⁄convierte en valores enteros los datos del formulario (base 10)   
    var1 = parseInt(formu.pr1.value, 10)   
    var2 = parseInt(formu.pr2.value, 10)   
  
    ⁄⁄valida que sean numeros   
    if ( isNaN(var1) || isNaN(var2) ) {   
        alert("Debe cumplimentar los dos campos precio\ncon valores numéricos.")   
        return false   
    ⁄⁄valida que sean positivos   
    } else  if (var1 < 0 || var2 < 0) {   
        alert("Los valores numéricos introducidos\ndeben ser positivos.")   
        return false   
    ⁄⁄valida que el primero es menor que el segundo   
    } else  if( var1 > var2 ) {   
        alert("El primer precio tiene que ser\nmenor o igual que el segundo.")   
        return false   
    ⁄⁄ok, envio formulario   
    } else {   
        alert("OK, los valores introducidos son correctos.")   
        return false   
        ⁄⁄IMPORTANTE: eliminar la linea anterior y quitar el ⁄⁄ de la siguiente para realizar el envio de verdad   
        ⁄⁄return true   
    }   
}
pero no pude hacer que me quedaran con los puntos 1, 2 y 3.

buenos gracias

Última edición por byzard; 18/01/2009 a las 00:10 Razón: arreglando ortografia
  #2 (permalink)  
Antiguo 17/01/2009, 23:24
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: ayuda validar 2 campos no letras, no patir con 0, etc

Holas, aver si esto te sirve:
js:
Código javascript:
Ver original
  1. function valida(f, f2){
  2.     var exp = /^[1-9]\d*$/;
  3.     var val = f.value;
  4.     if (val.indexOf("0") == 0)
  5.         f.value = "";
  6.     if (!exp.test(val))
  7.         f.value = f.value.substring(0, val.length - 1);
  8.     if (f2 && Number(f.value) > Number(document.getElementById(f2).value) )
  9.         f.value = "";
  10. };
html:
Código HTML:
 <input type="text" onkeyup="valida(this);" id="f1" />
    <input type="text" onblur="valida(this,'f1');" id="f2" /> 
saludoss
:]
__________________
Aerolíneas Alicia :D
  #3 (permalink)  
Antiguo 17/01/2009, 23:54
 
Fecha de Ingreso: agosto-2003
Ubicación: santiago, chile
Mensajes: 303
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: ayuda validar 2 campos no letras, no patir con 0, etc

gracias por la ayuda,
es bien raro tu codigo, en el sentido de que en el textbox si permite el ingreso de caracteres de tipo letras, solo que cuando se ingresa se elimina automaticamente, creo que no es tan bueno que sea de esa manera, me gusta mas que simplemente no puedan ingresar caracter de tipo texto, cosa que en este ejemplo que has puesto solo borra...

tambien soluciona eso de ingresar como primer numero un 0, solo que permite el ingreso de 0 al inicio, pero lo borra automaticamente, cosa que tambien preferiria que simplemente no te dejejara ingresar 0 al inicio.

lo otro que en el textbox2, deja ingresar numeros negativos cosa que no deberia ser.

igual gracias por la ayuda rapida, pero ojala tengas algo sin que borre, que simplemente no deje hacer lo que pido en los puntos anteriores.

Última edición por byzard; 18/01/2009 a las 00:13
  #4 (permalink)  
Antiguo 18/01/2009, 00:57
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: ayuda validar 2 campos no letras, no partir con 0, etc.

psss, esque tengo que borrar porque uso onkeyup, supongo que tu usas onkeydown, de todos modos te dejo los puntos 1 y 2 que son los que no te salen, porque el punto 3 esta en tu función validar.
js:
Código javascript:
Ver original
  1. function acceptNum(f){
  2.     var exp = /^[1-9]\d*$/;
  3.     var val = f.value;
  4.     while ( val.indexOf("0") === 0 ){
  5.         val = f.value = f.value.substring(1, val.length);
  6.     }
  7.     if (!exp.test(val)){
  8.         f.value = f.value.replace((/[^\d]/g), "");
  9.     }
  10. };
html:
Código HTML:
 <input type="text" onkeyup="acceptNum(this);" name="pr1" />
    <input type="text" onkeyup="acceptNum(this);" name="pr2" /> 
se sigue borrando pero ya nada mas se borra el error, no todo

saludos de nuevo
:)
__________________
Aerolíneas Alicia :D
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 02:15.