Angular.js 限制輸入框輸入內容,為純數字

lightwing發表於2021-09-09

JS:

angular.module('app').directive('numInput',function () {
    return {
        require: '^ngModel',
        scope: true,
        link: function (scope, el, attrs, ngModelCtrl) {

            function formatter (value) {
                let formattedValue = '';
                if(!_.isEmpty(value)){
                    let reg = /^d+(.d+)?$/;
                    let formattedValue =  reg.test(value) ? value : '';
                    el.val(formattedValue);
                    ngModelCtrl.$setViewValue(value);
                    // scope.$apply();
                }
                return formattedValue;
            }

            ngModelCtrl.$formatters.push(formatter);

            el.bind('blur', function () {
                formatter(el.val());
            });
        }
    };
});

html:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3407/viewspace-2802367/,如需轉載,請註明出處,否則將追究法律責任。

相關文章