我使用md-autocomplete指令作为邮政编码查找的地址。我想将用户在控件中键入的内容限制为仅五位数的邮政编码。它必须是数字,并且限制为 5 个数字。
如何在md-autocomplete中实现这一点?
我使用md-autocomplete指令作为邮政编码查找的地址。我想将用户在控件中键入的内容限制为仅五位数的邮政编码。它必须是数字,并且限制为 5 个数字。
如何在md-autocomplete中实现这一点?
您可以使用过滤器实现此目的: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);