Предел символов на вводимом тексте

Я хочу, чтобы в моем текстовом поле были разрешены только цифры, а также ограничение на количество символов.

В настоящее время у меня работают числа ... Теперь у меня проблемы с выяснением того, как ограничить символы.

Вот что у меня есть ...

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;
                }
            });
        }
    }
});

Разметка:

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

Ответы на вопрос(2)

Ваш ответ на вопрос