JSFiddle - React, Tailwind, and code Playground

by Suresh Pattu

HTML

<input class="allow_only_numbers" />

JavaScript

$(".allow_only_numbers").keydown(function (e) {
        var ctrlDown = false;
        var ctrlKey = 17, vKey = 86, cKey = 67;
        if (e.keyCode === ctrlKey){
            ctrlDown = true;
        }
        // Allow: backspace, delete, tab, escape, enter and .
        if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
                // Allow: Ctrl
            (e.keyCode === ctrlKey) ||
                // Allow: Ctrl+A
            (e.keyCode === 65 && e.ctrlKey === true) ||
                // Allow: Ctrl+v
            (e.keyCode === vKey && ctrlDown) ||
                // Allow: Ctrl+c
            (e.keyCode === cKey && ctrlDown) ||
                // Allow: home, end, left, right, down, up
            (e.keyCode >= 35 && e.keyCode <= 40)) {
            // let it happen, don't do anything
            return;
        }
        // Ensure that it is a number and stop the keypress
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
    });