Adición de coma como separador de miles (javascript): la salida se elimina en su lugar
Estoy intentando ajustar dinámicamente un valor numérico ingresado para incluir miles de separadores
Aquí está mi código:
function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
<input type="number" onkeyup="this.value=addCommas(this.value);" />
Sin embargo, cuando ingreso números después del 4, el campo se borra.
¿Alguna idea de donde me voy mal? Si hay una solución jQuery, ya la estoy utilizando en mi sitio.