elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: INPUT CON javascript (DINERO)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: INPUT CON javascript (DINERO)  (Leído 2,060 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: INPUT CON javascript (DINERO)
« en: 23 Abril 2019, 06:05 am »

Buenas noches!

Me gustaría saber como podría hacer para que a medida que voy escribiendo un numero en un input este se vaya formateando, es decir si yo escribo '100' no hace nada pero si escribo '1000' => que al momento de estar escribiendo aparezca el punto en la parte correspondiente, '1.000' y así con los demás.. Estuve buscando pero no encuentro algo que me pueda funcionar, gracias desde ya.


En línea

yuimugi912

Desconectado Desconectado

Mensajes: 20



Ver Perfil
Re: [Pregunta]: INPUT CON javascript (DINERO)
« Respuesta #1 en: 23 Abril 2019, 06:33 am »

prueba eso;

Código
  1. var numero=10000
  2. var numcomas=numero.toLocaleString();
  3. alert(numcomas)

eso si el resultado es un string

eso podrias ponerlo en un onkeypress , si necesitas que cambie al instante
https://www.w3schools.com/jsref/event_onkeypress.asp


« Última modificación: 23 Abril 2019, 06:35 am por yuimugi912 » En línea

iCoke

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: [Pregunta]: INPUT CON javascript (DINERO)
« Respuesta #2 en: 26 Abril 2019, 19:35 pm »

buenas tardes, esto es lo que necesitabas?
vanilla JS
Código
  1.  
  2. let input = document.getElementById("put");
  3.  
  4. input.addEventListener('keyup',(e)=>{
  5.    if(event.which >= 37 && event.which <= 40){
  6.        event.preventDefault();
  7.      }
  8.    let resultado = input.value.replace(/\D/g, "").replace(/([0-9])([0-9]{2})$/, '$1.$2').replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",");
  9.  
  10.    return input.value = resultado;
  11.  
  12. })
  13.  

con JQuery
Código
  1. $('input.number').keyup(function(event) {
  2.  
  3.  
  4.  if(event.which >= 37 && event.which <= 40){
  5.    event.preventDefault();
  6.  }
  7.  
  8.  $(this).val(function(index, value) {
  9.    return value
  10.      .replace(/\D/g, "")
  11.      .replace(/([0-9])([0-9]{2})$/, '$1.$2')  
  12.      .replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",")
  13.    ;
  14.  });
  15.  

en estos casos use expresiones regulares, las cuales podes modificar para cambiar detalles, en el ejemplo que hice quedaría así "1,000.00"(para mil, con 00 centavos)
« Última modificación: 26 Abril 2019, 19:48 pm por iCoke » En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: INPUT CON javascript (DINERO)
« Respuesta #3 en: 28 Abril 2019, 06:16 am »

Gracias a los dos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda con input box y javascript
Desarrollo Web
^kazike^ 0 2,826 Último mensaje 22 Julio 2010, 16:20 pm
por ^kazike^
input con tres decimales. javascript
Desarrollo Web
OssoH 2 2,354 Último mensaje 27 Septiembre 2013, 18:08 pm
por OssoH
[Resuelto] [Pregunta]: Input sólo letras con javascript
Desarrollo Web
Leguim 3 2,811 Último mensaje 27 Septiembre 2019, 16:08 pm
por MinusFour
[Resuelto] [Pregunta]: Primer letra de un input en mayuscula (javascript)
Desarrollo Web
Leguim 4 2,421 Último mensaje 27 Septiembre 2019, 22:23 pm
por Leguim
[Pregunta]: ¿Como escribir en un input con javascript?
Desarrollo Web
**Aincrad** 7 5,683 Último mensaje 10 Septiembre 2021, 23:31 pm
por [u]nsigned
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines