Angular 1.x 限制输入为数字

    如果没什么特别的需要,可以直接指定input 的type 为 number;如果你想进一步处理和控制输入,那么你需要的是NgModelController 的$parsers

angular.module('app').directive('onlyDigits', function () {
    return {
        restrict: 'A',
        require: '?ngModel',
        link: function (scope, element, attrs, modelCtrl) {
            modelCtrl.$parsers.push(function (inputValue) {
                if (inputValue == undefined) return '';
                var transformedInput = inputValue.replace(/[^0-9]/g, '');
                if (transformedInput !== inputValue) {
                    modelCtrl.$setViewValue(transformedInput);
                    modelCtrl.$render();
                }
                return transformedInput;
            });
        }
    };
});

参考

您的浏览器已过时

要正常浏览本网站请升级您的浏览器。现在升级

×