Zeichenbegrenzung für Eingabetext

Ich möchte, dass meine Textbox nur Zahlen zulässt und auch eine Zeichenbeschränkung enthält.

erzeit funktionieren die Zahlen ... Jetzt habe ich Probleme, herauszufinden, wie ich die Zeichen einschränken kann.

Hier ist was ich habe ...

JS:

app.directive('numbersonly', function () {
    return {
        restrict: 'A',
        link: function (scope, elm, attrs, ctrl) {
            elm.on('keydown', function (event) {
                if (event.which == 64 || event.which == 16 && elm.val().length > 4) {
                    return false;
                } else if (event.which >= 48 && event.which <= 57) {
                    return true;
                } else if (event.which >= 96 && event.which <= 105) {
                    return true;
                } else if ([8, 13, 27, 37, 38, 39, 40].indexOf(event.which) > -1 && elm.val().length > 4) {
                    return true;
                } else {
                    event.preventDefault();
                    return false;
                }
            });
        }
    }
});

Markup:

<input type="text" id="txtEmpAge" data-ng-model="newemployee.Age" class="form-control" numbersonly required />

Antworten auf die Frage(4)

Ihre Antwort auf die Frage