Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS在数字输入字段中只允许整数_Javascript_Angularjs_Ng Pattern - Fatal编程技术网

Javascript AngularJS在数字输入字段中只允许整数

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,而不是+

无法理解如何添加将字段标记为对所有无效条目无效的ng模式

我尝试过使用这个
“/^(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).如何禁止这种行为?