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)