JSFiddle - React, Tailwind, and code Playground

by Juan Muñoz

HTML

<input type="text" value="123  " id='numero' onkeydown=validaTeclaNumerouGuion(event) onkeyupn=validaTeclaNumerouGuionUP(event)>

JavaScript

var ctrlDown = false;
var shiftDown = false;
function  validaTeclaNumerouGuion(e) {
     
        var ctrlKey = 17,shiftKey = 16,
        cmdKey = 91,
        vKey = 86,
        cKey = 67,
				lKey = 37,
        rKey = 39;
    
    if (e.keyCode == ctrlKey || e.keyCode == cmdKey){  ctrlDown = true }
    if (e.keyCode == shiftKey){  ctrlDown = true }
    if (ctrlDown && (e.keyCode == cKey)) return true;
    
    if (ctrlDown && shiftDown && (e.keyCode == lKey)) return true;
    if (ctrlDown && shiftDown && (e.keyCode == rKey)) return true;
    
    if (ctrlDown && (e.keyCode == vKey)) return true;
    if (e.keyCode > 44 && e.keyCode < 57) return true;

    if (e.keyCode === 8 || e.keyCode === 9 || e.keyCode === 37 || e.keyCode === 38 || e.keyCode === 39 || e.keyCode === 40) {
    } else {
        if (e.keyCode < 95) {
            if (e.keyCode < 44 || e.keyCode > 57) {
                e.preventDefault();
            }
        }else {
            if (e.keyCode < 96 || e.keyCode > 105) {
                e.preventDefault();
            }
        }
    }
}

function  validaTeclaNumerouGuionUP(e) {
     
        var ctrlKey = 17,shiftKey = 16,
        cmdKey = 91,
        vKey = 86,
        cKey = 67;

    
    if (e.keyCode == ctrlKey || e.keyCode == cmdKey)
        ctrlDown =false;
     if (e.keyCode == shiftKey )
        shiftDown =false;   
        
}

$(document).ready(function (){
	console.log(( $('#numero').val()).trim() )
})