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.
prueba eso;
var numero=10000
var numcomas=numero.toLocaleString();
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
buenas tardes, esto es lo que necesitabas?
vanilla JS
let input = document.getElementById("put");
input.addEventListener('keyup',(e)=>{
if(event.which >= 37 && event.which <= 40){
event.preventDefault();
}
let resultado = input.value.replace(/\D/g, "").replace(/([0-9])([0-9]{2})$/, '$1.$2').replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",");
return input.value = resultado;
})
con JQuery
$('input.number').keyup(function(event) {
if(event.which >= 37 && event.which <= 40){
event.preventDefault();
}
$(this).val(function(index, value) {
return value
.replace(/\D/g, "")
.replace(/([0-9])([0-9]{2})$/, '$1.$2')
.replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",")
;
});
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)
Gracias a los dos!