JSFiddle - React, Tailwind, and code Playground

by venkateshwar

HTML

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

JavaScript

var main = document.getElementById('main');
    main.onkeydown = codeFunc;

    function codeFunc(e) {
        var code = e.which || e.keyCode;
        var value = e.currentTarget.value;
        var letter = String.fromCharCode(code);
        codeFunc.isNegative = value.indexOf("-") > -1;
        codeFunc.isMiddle = value.length != 0;
        var letter = String.fromCharCode(code);
        if (letter == "-" && !codeFunc.isNegative && !codeFunc.isMiddle) {
            codeFunc.isMiddle = true;
            codeFunc.isNegative = true;
            return true;
        } else if (letter == "¾" && !codeFunc.isDecimal) {
            codeFunc.isMiddle = true;
            codeFunc.isDecimal = true;
            return true;
        }
        var test = /[\d\b]+/.test(letter);
        if (!codeFunc.isMiddle) {
            codeFunc.isMiddle = test;
            return codeFunc.isMiddle;
        }
        return test;
    }