Beschränken Sie die Eingabe nur beim Einfügen auf die Zahl

Ich habe eine Eingabe, die mit einer Klasse archiviert wurde, die Beschränkungszahlen genannt wird, die ich die eingegebenen Zeichen einschränken möchte, um nur Zahlen zu akzeptieren, ich benutzte den folgenden Code, der groß ist, aber das Problem, das ich die gleiche Beschränkung machen möchte, arbeitet mit dem Einfügen in der Eingabe abgelegt, ohne das Einfügen vollständig zu deaktivieren:

function input_only_numbers(){
$("input[type=text]").each(function(){
if( $(this).hasClass("restrict-numbers") ){    
    $(this).keydown(function(event) {
    if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || 

        // Allow: Ctrl+A
    (event.keyCode == 65 && event.ctrlKey === true) ||

        // Allow: Ctrl+V
    (event.ctrlKey == true && (event.which == '118' || event.which == '86')) ||

        // Allow: Ctrl+c
    (event.ctrlKey == true && (event.which == '99' || event.which == '67')) ||

        // Allow: Ctrl+x
    (event.ctrlKey == true && (event.which == '120' || event.which == '88')) ||

        // Allow: home, end, left, right
    (event.keyCode >= 35 && event.keyCode <= 39)) {
    // let it happen, don't do anything
        return;
    }
    else {
    // Ensure that it is a number and stop the keypress
        if ( event.shiftKey|| (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ) ){
        event.preventDefault(); 
        }
    }
    });
}




});

}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage