Foros del Web » Programando para Internet » Javascript »

Validacion Rango de numeros en input

Estas en el tema de Validacion Rango de numeros en input en el foro de Javascript en Foros del Web. Hola amigos estoy intenado hacer una validacion en un input que solo permita numeros desde el 1.1 hasta el 4.4 (punto incluido) es para otra ...
  #1 (permalink)  
Antiguo 30/12/2013, 09:32
 
Fecha de Ingreso: febrero-2013
Mensajes: 21
Antigüedad: 11 años, 2 meses
Puntos: 0
Validacion Rango de numeros en input

Hola amigos estoy intenado hacer una validacion en un input
que solo permita numeros desde el 1.1 hasta el 4.4 (punto incluido)
es para otra funcion que me saca el promedio
el tema es que tengo

Código Javascript:
Ver original
  1. function validanumeros(evt){
  2.         if(evt.keyCode!=8){
  3.               var theEvent = evt || window.event;
  4.               var key = theEvent.keyCode || theEvent.which;
  5.            
  6.               key = String.fromCharCode( key );
  7.                
  8.               var regex = /[0-9]|\./;
  9.            
  10.               if( !regex.test(key) ) {
  11.                     theEvent.returnValue = false;
  12.            
  13.                     if(theEvent.preventDefault) theEvent.preventDefault();
  14.               }
  15.            
  16.         }
  17.  
  18.     }

Código HTML:
Ver original
  1. <input type="text" name="prm1" id="prm1" value="1" onkeyup="Promediar(); " onKeyPress="validanumeros(event)" maxlength="3"/>


el tema es que la funcion solo permite numeros y puntos , lo que esta bien
pero como dije antes nmecesito solo un rango de nuemros

Código Javascript:
Ver original
  1. var regex = /[0-4]|\./;

en esta parte si lo dejara asi permite numeros de 1 a 4 pero no me sirve por que si necesito poner en el input 1.9 el 1 lo toma pero no el 9 se entiende? ,
a ver si me ayudan con este temita
saludos y gracias...
  #2 (permalink)  
Antiguo 30/12/2013, 14:37
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Validacion Rango de numeros en input

Prueba:
Código Javascript:
Ver original
  1. function prueba(num) {
  2.    var num;
  3.    if (parseFloat(num) >= 1.1 && parseFloat(num) <= 4.4) {
  4.       alert(num);
  5.    } else {
  6.       alert('fuera de rango');
  7. }
  8.  
  9. var n = 1.1; // ve cambiando
  10. prueba(n);
  #3 (permalink)  
Antiguo 31/12/2013, 08:29
 
Fecha de Ingreso: febrero-2013
Mensajes: 21
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Validacion Rango de numeros en input

Cita:
Iniciado por bathorz Ver Mensaje
Prueba:
Código Javascript:
Ver original
  1. function prueba(num) {
  2.    var num;
  3.    if (parseFloat(num) >= 1.1 && parseFloat(num) <= 4.4) {
  4.       alert(num);
  5.    } else {
  6.       alert('fuera de rango');
  7. }
  8.  
  9. var n = 1.1; // ve cambiando
  10. prueba(n);
Estimado gracias por responder pero no logro hacer la validacion este codigo tengo


Código Javascript:
Ver original
  1. function prueba(num) {
  2.              var num;
  3.              if (parseFloat(num) >= 1.1 && parseFloat(num) <= 4.4) {
  4.                 alert(num);
  5.              } else {
  6.                 alert('fuera de rango');
  7.           }
  8.            
  9.               var n = 1.1; // ve cambiando
  10.              prueba(n);

El input

Código HTML:
Ver original
  1. <input type="text" name="D" id="D" value=""  onKeyPress="prueba(num);" maxlength="3"/>

puede ser un detalle pero estoy recien en este tema
Saludos..
  #4 (permalink)  
Antiguo 01/01/2014, 03:50
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Validacion Rango de numeros en input

Te puede dar una idea de cómo seguir:
Código HTML:
Ver original
  1. function prueba(n) {
  2.    var num = n.value;
  3.    if (parseFloat(num) >= 1.1 && parseFloat(num) <= 4.4) {
  4.      document.getElementById('rst').innerHTML = 'OK: ' + num;
  5.    } else {
  6.       document.getElementById('rst').innerHTML = 'fuera de rango';
  7.    }
  8. }
  9. <form id="form1" name="form1" action="" method="post">
  10.    <input type="text" name="D" id="D" value="" autofocus oninput="prueba(this);" maxlength="3"/>
  11. </form>
  12. <div id="rst">rst</div>
  #5 (permalink)  
Antiguo 02/01/2014, 07:18
 
Fecha de Ingreso: febrero-2013
Mensajes: 21
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Validacion Rango de numeros en input

Cita:
Iniciado por bathorz Ver Mensaje
Te puede dar una idea de cómo seguir:
Código HTML:
Ver original
  1. function prueba(n) {
  2.    var num = n.value;
  3.    if (parseFloat(num) >= 1.1 && parseFloat(num) <= 4.4) {
  4.      document.getElementById('rst').innerHTML = 'OK: ' + num;
  5.    } else {
  6.       document.getElementById('rst').innerHTML = 'fuera de rango';
  7.    }
  8. }
  9. <form id="form1" name="form1" action="" method="post">
  10.    <input type="text" name="D" id="D" value="" autofocus oninput="prueba(this);" maxlength="3"/>
  11. </form>
  12. <div id="rst">rst</div>

muchas gracias me funciona bien salvo que puse este codigo en el else para que si ponen valores fuera del rango ademas del mensaje el input queda vacio , pero al hacer esto no me deja meter el numero 1 , pero los demas numeros si 2.1, 3.1 ,4 etc
solo me pasa cuando quiero poner el uno al principio
pero era solo un detalle porque puse

Código Javascript:
Ver original
  1. parseFloat(num) >= 1.0
y funciona correctamente

al final quedo asi


Código Javascript:
Ver original
  1. function prueba(n) {
  2.        var num = n.value;
  3.        if (parseFloat(num) >= 1. 0&& parseFloat(num) <= 4.4) {
  4.          document.getElementById('rst').innerHTML = 'OK: ' + num;
  5.        } else {
  6.           document.getElementById('rst').innerHTML = 'fuera de rango';
  7.      
  8.            document.getElementById('D').value='';
  9.  
  10.        }
  11.     }
  12.     </script>

gracias de nuevo amigo
Saludos..

Última edición por Sandiuga; 02/01/2014 a las 08:48

Etiquetas: funcion, input, numeros, rango, validacion
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:31.