继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Angular.js 限制输入框输入内容,为纯数字

SOHO树叶
关注TA
已关注
手记 56
粉丝 61
获赞 656

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:

<input type="text" ng-model="value" num-input>


打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP