Adicionando vírgula como separador de milhares (javascript) - saída sendo excluída
Eu estou tentando ajustar dinamicamente um valor numérico inserido para incluir milhares de separadores
Aqui está o meu 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);" />
No entanto, quando eu digito números após o 4, o campo é limpo.
Alguma idéia de onde estou indo errado? Se existe uma solução jQuery eu já estou usando isso no meu site.