Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 23 Abril 2019, 06:05 am



Título: [Pregunta]: INPUT CON javascript (DINERO)
Publicado por: Leguim 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.


Título: Re: [Pregunta]: INPUT CON javascript (DINERO)
Publicado por: yuimugi912 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


Título: Re: [Pregunta]: INPUT CON javascript (DINERO)
Publicado por: iCoke 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)


Título: Re: [Pregunta]: INPUT CON javascript (DINERO)
Publicado por: Leguim en 28 Abril 2019, 06:16 am
Gracias a los dos!