Foros del Web » Programando para Internet » Javascript »

Limitar numero despues de una coma

Estas en el tema de Limitar numero despues de una coma en el foro de Javascript en Foros del Web. hola miren tengo una consulta, tengo un input, text, donde se ingresan numeros, se pueden ingresar numero decimales, (con coma) pero necesito que se limiten ...
  #1 (permalink)  
Antiguo 20/04/2013, 00:45
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
Limitar numero despues de una coma

hola miren tengo una consulta, tengo un input, text,

donde se ingresan numeros, se pueden ingresar numero decimales, (con coma)
pero necesito que se limiten a solo 3 decimales, despues de la coma...

por ejemplo

3,323 esta bien
3323,33 esta bien (tiene 2 valores despues la coma)
323,323 esta bien
32,3242 esta mal , tiene 4 caracteres ...

cual sera la mejor opcion para restringir los datos ingresados???

con un javascript, que se active cada ves que se ingrese un caracter,. con onkey() creo que se llama la funcion...

si coloca una coma ",", aparece un contador, si supera mas de 3, caracteres,,, desactiva el ingreso por teclado

esa creen la mejor opcion??

pero si ingresa "2," y borra la coma, el contador esta activo estando el input asi"2" y ingreso "23245" y ahi no se podra ingresar mas...

o creo que me equicovo una vez que borro el "," verificara, que halla "," (comas) y contara,,, tendria que verlo... esa es la mejor opcion.

otra seria creo , usar expresiones regulares..? o ahi es medio complicado....
  #2 (permalink)  
Antiguo 20/04/2013, 16:40
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Limitar numero despues de una coma

lo más práctico sería con una expresión regular

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <script type="text/javascript">
  6. //<![CDATA[
  7. function verifica(){
  8. var valor= document.getElementById('numero');
  9. var expresion=/^\d+,?\d{0,3}$/;
  10. var resultado=expresion.test(valor.value);
  11. if(resultado == true){
  12. document.getElementById('mensaje').innerHTML = "ok";
  13. }else{
  14. document.getElementById('mensaje').innerHTML = "error";
  15. }
  16. }
  17. //]]>
  18. </head>
  19. <input type="text" value="" name="numero" id="numero" onkeyup="verifica();" />
  20. <div id="mensaje" style="height: 20px;"></div>
  21. <input type="button" value="verificar" onclick="verifica();" />
  22. </body>
  23. </html>

Pero usar onkeyup podría tener sus contras si te pegan un texto en lugar de ingresar con el teclado. Además, no me que da claro si podría haber números sin decimales. Ni que decir, que una vez recibido el numero, si vas a hecr operaciones con decimales deberías reemplazar esa coma y cambiarla por un punto
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 21/04/2013, 03:38
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: Limitar numero despues de una coma

bueno al menos esta funcion parece mas zafable,
habia encontrado otra que al probarla como funcionaba, no me limitaba a 3, pero me titilaba el cursor, estaba a 1000 por hora,, el javascript

Etiquetas: coma, funcion, input, limitar, numero
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 17:20.