Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 html5数字类型仅接受正整数_Javascript_Angularjs_Html - Fatal编程技术网

Javascript html5数字类型仅接受正整数

Javascript html5数字类型仅接受正整数,javascript,angularjs,html,Javascript,Angularjs,Html,我使用的是angular应用程序,带有html5数字输入。我试图将输入限制为只接受正整数,而不接受十进制浮点数 我试着使用一些模式和step=1 min,max值,但似乎不起作用 请建议 编辑: 我的表格就是这样的。如果我有理由的话,很抱歉给你带来困惑 <div class="row bottom-spaced-small"> <div class="col-md-3"> Number* </div>

我使用的是angular应用程序,带有html5数字输入。我试图将输入限制为只接受正整数,而不接受十进制浮点数

我试着使用一些模式和step=1 min,max值,但似乎不起作用

请建议

编辑:

我的表格就是这样的。如果我有理由的话,很抱歉给你带来困惑

<div class="row bottom-spaced-small">
        <div class="col-md-3">
            Number*
        </div>
        <div class="col-md-9">
            <input name="txtNumber" ng-disabled="somevalue" min="1" step="1" type="number" ng-required="true" ng-maxlength="50" ng-model="someNumber" class="form-control color-black" />
        </div>
        <div class="row" style="padding-left: 30px" ng-if="someForm.$submitted && !someForm.txtNumber.$valid">
            <span style="color: red">Number is mandatory and must be a non 0 positive number.</span>
        </div>
    </div>

数*
数字是必填项,必须是非0正数。

您可以设置
min
属性,但要检查


type
是输入字段的类型,
step
定义允许数字的步进,即。E只允许使用整数,最后将
min
设置为零意味着不允许使用负数。因此,只允许正整数和零。

正确的家伙

感谢您发布了一些有效的答案,但我的要求是其他的。因此,我决定写我自己的指令来解决这个问题

'use strict';
(功能(){ var app=角度模块(“通用”)

var onlyInteger=函数(){
返回{
限制:“A”,
要求:“?ngModel”,
链接:函数(范围、元素、属性、ctrl){
ctrl.$parsers.push(函数(inputValue){
if(inputValue==未定义)返回“”;
var transformedValue=inputValue.replace(/[^0-9]/g');
if(transformedValue!==inputValue){
ctrl.$setViewValue(transformedValue);
ctrl.$render();
}
返回转换值;
});
}
};
};
应用指令(“onlyInteger”,onlyInteger);
}());
数
数字是必填项,必须是非0正数。
这里有两件事,我已经删除了作为number type=“number”的控件,并包含了作为属性的指令

控件中编写的模式几乎是绑定的和静态的。如果我们希望更通用一点,那么将该模式作为属性传递,并在指令中捕获以针对该模式进行验证

接受建议和更正。

用户

<input type="number" onkeypress="return event.charCode >= 48" min="1" >


我们在哪里可以找到您的代码?您能提供一份详细的信息吗?只需设置min=1。您使用什么浏览器?@phihag这是我表格中的内容,但似乎不起作用@imkost我使用的是chrome,但需要支持IE9和firefox。
var onlyInteger = function () {
    return {
        restrict: "A",
        require: '?ngModel',
        link: function (scope, element, attrs, ctrl) {
            ctrl.$parsers.push(function (inputValue) {
                if (inputValue == undefined) return '';
                var transformedValue = inputValue.replace(/[^0-9]/g, '');                    
                if (transformedValue !== inputValue) {
                    ctrl.$setViewValue(transformedValue);
                    ctrl.$render();
                }

                return transformedValue;
            });
        }
    };
};

app.directive('onlyInteger', onlyInteger);
}());

<div class="row bottom-spaced-small">
        <div class="col-md-3">
            Number
        </div>
        <div class="col-md-9">
            <input name="txtNumber" only-integer ng-required="true" ng-maxlength="50" ng-model="someNumber" class="form-control color-black" />
        </div>
        <div class="row" style="padding-left: 30px" ng-if="someForm.$submitted && !someForm.txtNumber.$valid">
            <span style="color: red">Number is mandatory and must be a non 0 positive number.</span>
        </div>
    </div>
<input type="number" onkeypress="return event.charCode >= 48" min="1" >