JSFiddle - React, Tailwind, and code Playground

HTML

<input id="myinput" type="text" />

JavaScript

function format(comma, period) {
  comma = comma || ',';
  period = period || '.';
  var split = this.toString().split('.');
  var numeric = split[0];
  var decimal = split.length > 1 ? period + split[1] : '';
  var reg = /(\d+)(\d{3})/;
  while (reg.test(numeric)) {
    numeric = numeric.replace(reg, '$1' + comma + '$2');
  }
  return numeric + decimal;
}

$('#myinput').live('keyup', function(){
    $(this).val(format.call($(this).val().split(' ').join(''),' ','.'));
});