Javascript AngularJS在数字输入字段中只允许整数
无法理解如何添加将字段标记为对所有无效条目无效的ng模式 我尝试过使用这个Javascript AngularJS在数字输入字段中只允许整数,javascript,angularjs,ng-pattern,Javascript,Angularjs,Ng Pattern,无法理解如何添加将字段标记为对所有无效条目无效的ng模式 我尝试过使用这个“/^(0 | \-?[1-9][0-9]*)$/ 它可以很好地过滤无效的数字,如0.1甚至0123(并且没有被/^-?[0-9][^\.]*$/过滤掉,这在一些类似问题中被认为是正确答案) 但实际上它并没有过滤掉像“+3”和“1”这样的数字。(正则表达式似乎是正确的,不允许这些值,我已经试着检查过了)如果你使用我在这里列出的ng模式之一,试着在你的输入字段中输入+N。你会注意到它是有效的。(可能模型将包含3&1,而不是+
“/^(0 | \-?[1-9][0-9]*)$/
它可以很好地过滤无效的数字,如0.1甚至0123(并且没有被/^-?[0-9][^\.]*$/
过滤掉,这在一些类似问题中被认为是正确答案)
但实际上它并没有过滤掉像“+3”和“1”这样的数字。(正则表达式似乎是正确的,不允许这些值,我已经试着检查过了)如果你使用我在这里列出的ng模式之一,试着在你的输入字段中输入+N。你会注意到它是有效的。(可能模型将包含3&1,而不是+3&1。但在用户输入实际整数之前,我会将输入标记为无效)
希望有人也有同样的问题
顺便说一句,一个可能的解决方案是创建阻止输入“.”和“+”的指令,但我想知道是否有可能用ng模式解决此问题。尝试此ng模式=“/^[1-9]\d*$/”
只允许整数:
angular
.module('应用程序',[])
.controller('DefaultController',['$scope','$log',函数($scope,$log){
$scope.logNumber=函数(){
$log.log($scope.num);
};
}]);
输入有效?={{form.num.$valid}}
尝试此ng模式=“/^[1-9]\d*$/”
仅允许整数:
angular
.module('应用程序',[])
.controller('DefaultController',['$scope','$log',函数($scope,$log){
$scope.logNumber=函数(){
$log.log($scope.num);
};
}]);
输入有效?={{form.num.$valid}}
试着用这个来理解正则表达式。你似乎没有读过我的问题,我对理解这样简单的正则表达式很有经验。但问题不在正则表达式内部,而很可能是ng模式。因为它认为1.仍然有效(如果你用同一个正则表达式在控制台中自己测试它,它是无效的)试着用这个来理解正则表达式。你似乎没有读过我的问题,我对理解这样简单的正则表达式很有经验。但问题不在正则表达式内部,而很可能在ng模式中。因为它认为1.仍然有效(如果你用同一个正则表达式在控制台中自己测试它,它是无效的)嗯,问题是我想在输入“+4”或“.1”时将字段标记为无效,正如您在示例中看到的那样(模型包含4和1)。如何禁止此操作?嗯,问题是我想在输入“+4”或“.1”时将字段标记为无效,正如您在示例中看到的那样(模型包含4和1).如何禁止这种行为?