JSFiddle - React, Tailwind, and code Playground
HTML
<form>
<input type="number">
</form>
JavaScript
$('input[type="number"]').keydown(function (event) {
if ((!event.shiftKey && !event.ctrlKey && !event.altKey) && ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) { // 0-9 or numpad 0-9, disallow shift, ctrl, and alt
// check textbox value now and tab over if necessary
} else if (event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 37 && event.keyCode != 39 && event.keyCode != 9 && event.keyCode != 190) { // not esc, del, left or right
event.preventDefault();
} // else the key should be handled normally
$(this).val( $(this).val().replace(/,[,\s]*,/g, ','));
});
$('input[type="number"]').keyup(function (event) {
$(this).val( $(this).val().replace(/([0-9]{3}(?=([0-9])))/g, "$1,")); //add currency comma
});