如何限制十进制之前和十进制之后的值 - angularjs

时间:2017-05-30 09:36:20

标签: javascript angularjs

我想限制只在字段中输入数字,并且还想限制小数点前和小数点后的字符数。

我有一个指令,限制只输入数字。

app.directive('numbersOnly', function () {
    return {
        require: 'ngModel',
        link: function (scope, element, attr, ngModelCtrl) {
            function fromUser(text) {
                if (text) {
                    var transformedInput = text.replace(/^[^1-9]*|[^0-9]/g, '');
                    if (transformedInput !== text) {
                        ngModelCtrl.$setViewValue(transformedInput);
                        ngModelCtrl.$render();
                    }
                    return transformedInput;
                }
                return undefined;
            }
            ngModelCtrl.$parsers.push(fromUser);
        }
    };
});

我有一个指令,允许小数点后两位数,并允许n不。小数点前的数字。但我想限制小数点前的字符。

app.directive('decimalPlaces',function(){
    return {
        link:function(scope,ele,attrs){
            ele.bind('keypress',function(e){
                var newVal=$(this).val()+(e.charCode!==0?String.fromCharCode(e.charCode):'');
                if($(this).val().search(/(.*)\.[0-9][0-9]/)===0 && newVal.length>$(this).val().length){
                    e.preventDefault();
                }
            });
        }
    };
});

我想在小数点前限制为6个数字(即6位数)。

0 个答案:

没有答案