我正在使用 md-autocomplete 指令作为邮政编码查找的地址。我想将控件中的用户类型限制为仅限五位数的邮政编码。它必须是数字,并限制为5个数字。
如何在 md-autocomplete 中实现这一目标?
答案 0 :(得分:2)
您可以使用过滤器实现此目的:http://jsfiddle.net/uhmgp23h/2/
<body ng-app="MyApp">
<div ng-controller="MyController">
<input type="text" ng-model="zip" />
</div>
</body>
JS
var app = angular.module('MyApp',[]);
app.controller('MyController', function($scope, $filter)
{
$scope.zip = '';
$scope.$watch('zip', function(newVal, oldVal)
{
var value = String(newVal);
var number = value.replace(/[^0-9]+/g,'');
$scope.zip = $filter('numberFixedLen')(number,5);
});
});
app.filter('numberFixedLen', function()
{
return function(n, len)
{
var num = parseInt(n);
if (String(num).length > len) return n.substring(0, len);
return num;
};
});
此过滤器仅将字段限制为数字,并将其限制为5个字符。此过滤器适用于任意数量的字符,只需将5
更改为此行中的任何内容$filter('numberFixedLen')(number,5);