输入文本的字符限制

时间:2016-09-15 14:55:06

标签: angularjs validation input angularjs-directive angularjs-scope

我希望我的文本框只允许数字,并且还有字符限制。

目前,我的数字正在运作......现在我遇到了如何限制角色的问题。

这是我的......

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 个答案:

答案 0 :(得分:1)

在html输入属性中。我们可以用多种形式使用它:

长度,最小长度和最大长度

试试这个

maxlength="5"

答案 1 :(得分:0)

我遇到了同样的问题并写了一个指令来解决这个问题。然后我发现了一个名为angular-dynamic-number的插件,它立即为我工作。我建议你使用它,如果它符合你的需要。 https://www.npmjs.com/package/angular-dynamic-number