JSFiddle - React, Tailwind, and code Playground
by Miguel Roman
HTML
<input id="input" type="text" inputmode="numeric" min="0" value="">
<span id="which"></span> / <span id="cursor"></span> / <span id="error"></span> / <span id="result"></span> / <span id="date"></span>
<br />
JavaScript
document.getElementById("input").addEventListener("keydown", test);
var allowedCodes = [8, 37, 39];
var decimalSign = '.';
function test(evt) {
var key = evt.key;
var keyCode = evt.keyCode;
document.getElementById("which").innerText = keyCode;
document.getElementById("date").innerText = (new Date()).getTime().toString();
var hasNotPoint = evt.target.value.indexOf(decimalSign) < 0;
if ((hasNotPoint && key === decimalSign) || (/[0-9]/.test(key))) {
return;
}
if (allowedCodes.indexOf(keyCode) >= 0) {
return;
}
evt.preventDefault();
return false;
}