📅  最后修改于: 2023-12-03 14:59:18.799000             🧑  作者: Mango
angular.isNumber()
函数是AngularJS中的一个公用函数,它的作用是用于判断给定的值是否为数字类型。
angular.isNumber(value);
value
:要判断的值。如果给定的值是数字类型,则返回true
;否则返回false
。
angular.isNumber(123); // true
angular.isNumber('123'); // false
<div ng-controller="MyCtrl">
<p ng-if="isNum()">有效数字</p>
<p ng-if="!isNum()">无效数字</p>
</div>
angular.module('myApp', [])
.controller('MyCtrl', function($scope) {
$scope.num = '123';
$scope.isNum = function() {
return angular.isNumber($scope.num);
};
});
<div ng-app="myApp">
<input type="text" ng-model="num" is-number>
<p ng-if="invalidNum">请输入数字类型</p>
</div>
angular.module('myApp', [])
.directive('isNumber', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
ctrl.$validators.isNumber = function(modelValue, viewValue) {
if (ctrl.$isEmpty(modelValue)) {
return true;
}
if (angular.isNumber(viewValue)) {
return true;
}
return false;
};
scope.$watch(attrs.ngModel, function() {
scope.invalidNum = ctrl.$error.isNumber;
});
}
};
});
angular.isNumber()
函数不仅可以判断整型、浮点型等数字类型,也可以判断NaN和Infinity。ngModel
指令来处理输入的值。