我会使用指令:
HTML
<input type="text" ng-model="test" separator="number" />
指示
app.directive('separator', ['$filter', function($filter) {
return {
require: '?ngModel',
link: function(scope, elem, attrs, ctrl) {
if (!ctrl) return;
ctrl.$formatters.unshift(function(a) {
return $filter(attrs.format)(ctrl.$modelValue)
});
ctrl.$parsers.unshift(function(viewValue) {
var plainNumber = viewValue.replace(/[^\d|\-+|\.+]/g, '');
elem.val( $filter('number')(plainNumber) );
return plainNumber;
});
}
};
}]);
看Fiddle
图片:
