JSFiddle - React, Tailwind, and code Playground

by bullrout

HTML

<body>
<form>
<input type="text" id="foo" value="" onkeydown="GetChar (event);" />
</form>



</body

JavaScript

/**
 * Number.prototype.format(n, x, s, c)
 * 
 * @param integer n: length of decimal
 * @param integer x: length of whole part
 * @param mixed   s: sections delimiter
 * @param mixed   c: decimal delimiter
 */
Number.prototype.format = function(n, x, s, c) {
    var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')',
        num = this.toFixed(Math.max(0, ~~n));
    
    return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
};

var numbers = [1, 12, 123, 1234, 12345, 123456, 1234567, 12345.67, 123456.789];

document.write('<p>Classic Format:</p>');
for (var i = 0, len = numbers.length; i < len; i++) {
    document.write('R$ ' + numbers[i].format(2, 3, '.', '.') + '<br />');
}
 function GetChar (event){
		var theValue = document.getElementById('foo').value;
                    
          document.write(theValue.format(2, 3, '.', '.'));
        }