Foros del Web » Programando para Internet » Javascript »

validar un formato de numero al ir ingresandolo

Estas en el tema de validar un formato de numero al ir ingresandolo en el foro de Javascript en Foros del Web. Hola a todos tengo un gran problema... tengo que ir ingresando y validando un valor mientras se vaya tecleando. esto se debe a que por ...
  #1 (permalink)  
Antiguo 23/02/2005, 06:40
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 10 meses
Puntos: 0
validar un formato de numero al ir ingresandolo

Hola a todos tengo un gran problema... tengo que ir ingresando y validando un valor mientras se vaya tecleando.
esto se debe a que por base de datos el valor esta definido de 10 enteros mas 4 decimales (10,4)
por lo tanto en el maxlength yo le puse que sea de 15

pero dijeron que esta mal, es decir, ya que puede colocar 15 enteros y ningun decimal
la idea es que me tiene que validar el ingreso de 10 caracteres enteros hasta el momento de ingresar una coma, y luego permitir colocar decimal
o si bien no coloco decimal permitir el ingreso de 10 solamente!

y asi sucesivamente...

porfis.. alguien me puede ayudar!
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 23/02/2005, 06:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
La comprobacion la deberas de hacer con match..... y colocar la llamada a la funcion en los eventos onKeyUp y onChange de la caja de texto.

Un saludo.
  #3 (permalink)  
Antiguo 23/02/2005, 06:59
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 10 meses
Puntos: 0
pero por curiosidad no es ir evaluando cada caracter ingresado?
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #4 (permalink)  
Antiguo 23/02/2005, 08:10
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 10 meses
Puntos: 0
alguien me puede decir pq pasa esto
tengo el siguiente codigo
Código PHP:
<script>
cadena "123";
results cadena.search(".");
alert("resultado del search "+results);
</script> 
y me muestra como resultado 0 en vez de mostrarme -1 ya que el "." no existe en la cadena!
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #5 (permalink)  
Antiguo 23/02/2005, 08:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por bhonox
alguien me puede decir pq pasa esto
tengo el siguiente codigo
Código PHP:
<script>
cadena "123";
results cadena.search(".");
alert("resultado del search "+results);
</script> 
y me muestra como resultado 0 en vez de mostrarme -1 ya que el "." no existe en la cadena!
el -1 solo te lo dara si en la expresion regular si eliminas el flag i y añades el del global case , de ignorara masyuculas - minusculas
es decir
regExp=/\./g;
cadena.search(regExp);

Por otro lado el evento onKeyUp, se produce en cada suelta de tecla, es decir cada vez pulsas una tecla se produce el evento.

La cadena que se forma simpre sera 10 enteros,4 decimales
la expresion regular seria
regExp=/^[0-9]+[.]{1}$/;
Con esto compruebas que solo te metan números y un punto como decimal.

Luego comprobaras que:

regExp=/^[0-9]{1,10}[.]{1}[0-9]{1,2}$/;

ó

regExp=/^\d{1,10}[.]{1}\d{1,2}$/;

en fin un saludo.
  #6 (permalink)  
Antiguo 23/02/2005, 08:40
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
Qué tal,

mira a ver si este que tengo aquí te puede servir http://javascript.tunait.com/javascr....asp?s=mascara

un saludo
  #7 (permalink)  
Antiguo 23/02/2005, 08:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por tunait
Qué tal,

mira a ver si este que tengo aquí te puede servir http://javascript.tunait.com/javascr....asp?s=mascara

un saludo
Justo, lo he estado viendo y esta muy bien. Lo tienes ya todo mascado.
  #8 (permalink)  
Antiguo 23/02/2005, 08:50
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 10 meses
Puntos: 0
sabes estuve trabajando en ellas e hice lo siguiente
Código PHP:
function validar(valor){

var 
regExp=/^[0-9]{1,10}[.]{1}[0-9]{1,2}$/.test(valor);
if (
regExp == false){
alert("estamos mal");
}
else{
alert("estamos bien");
}    

donde valor es el this.value al hacer onkeyup

pero yo coloco valores y siempre me manda el alert que esta mal!
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #9 (permalink)  
Antiguo 23/02/2005, 08:58
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 10 meses
Puntos: 0
Tunait estuve revisando tus ejemplo que has planteado y aparte de encontrarlos muy bueno (no habia visto algo como las mascaras en javascript) me complica usarlo, ya que te explico...
debe permitir colocar comas y puntos, las comas seran separador de miles y el punto el separador de decimal

con tu codigo puedo hacer que vaya incluyendo "," cada vez que vayan 3 digitos, pero como hago que cuando sean 10 ya no tome mas "," sino que un punto, ademas de validar que el numero ingresado este correctamente, es decir validar que no exista algo como 123,,3,2.1
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #10 (permalink)  
Antiguo 23/02/2005, 11:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por bhonox
sabes estuve trabajando en ellas e hice lo siguiente
Código PHP:
function validar(valor){

var 
regExp=/^[0-9]{1,10}[.]{1}[0-9]{1,2}$/.test(valor);
if (
regExp == false){
alert("estamos mal");
}
else{
alert("estamos bien");
}    

donde valor es el this.value al hacer onkeyup

pero yo coloco valores y siempre me manda el alert que esta mal!

Claro siempre te dira el alert puesto que estas comprobando la expresion entera.

En el onKeyUp tienes que comprobar que solo te pulse numeros y 1 signo de coma.

Luego en el onchange compruebas que el formato sea correcto
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 01:14.