angular.module('focaDirectivas') .directive('limiteNumerosMax', function(){ return { require: 'ngModel', scope: true, link: function(scope, element, attr, ngModel) { ngModel.$parsers.push(function (value) { return '' + value; }); if (!ngModel) return; function limiteNumerosMax(texto) { if (texto) { texto = texto.replace(/^0-9]/g, '') .substring(0,attr.limiteNumerosMax); ngModel.$setViewValue(texto); ngModel.$render(); return texto; } } ngModel.$parsers.push(limiteNumerosMax); } }; });