html5数字类型只接受正整数
html5 number type to accept only positive integers
我使用的是一个angular应用程序,输入的是html5数字类型。我试图将输入限制为只接受正整数,而不接受十进制浮点数。
我尝试使用一些模式和步长=1分钟,最大值,但似乎不起作用。
请提出建议。
编辑:
这就是我的形式。如果我有原因的话,很抱歉造成了混乱。
<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>
您可以设置min
属性,但请检查是否支持;
<input type="number" min="0" step="1">
<input type="number" step="1" min="0">
type
是输入字段的类型,step
定义了允许数字的步进,即只允许整数,最后将min
设置为零意味着不允许负数。因此,只允许使用正整数(整数)和零。
没错,
谢谢你发布了一些有效的答案,但我的要求是其他的。因此,我决定编写自己的指令来解决这个问题。
'use strict';
(函数(){var app=角度模块("公共");
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>
这里有两件事,我删除了作为number type="number"的控件,并包含了作为属性的指令。
控件中编写的模式几乎是绑定的和静态的。如果我们希望更通用一点,那么将模式作为属性传递,并在指令中捕获,以针对该模式进行验证。
接受建议和更正。
用户
<input type="number" onkeypress="return event.charCode >= 48" min="1" >
相关文章:
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 带静态字符e输入的文本框数字和带javascript的负整数
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- 如何拆分一个整数和产生的所有数字来创建一个新数字
- 为什么可以对整数变量调用toString(),而不能对文字数字调用
- 为什么Javascript中的整数加空格加字符串会导致数字和字符串的总和?(2++'22'=24)
- 从数字字符串中获取整数
- Javascript将浮点数字无故强制转换为整数
- 将随机整数分配给数组中的项,summa应该是一个固定的数字
- 从整数中删除最后一位数字
- 只允许整数和十进制数字textbow jquery(不带正则表达式)
- 如何在JavaScript上处理金融应用程序的数字,它缺少整数类型
- 如何验证数字是否为整数
- Javascript - 如何使按钮生成 1-12 的随机整数,并让按钮不断产生相同的数字
- 如何将一串数字和数学运算符变成整数答案?- JavaScript
- JavaScript 整数到前两位数字
- 选择格式为 2 位数字的值整数
- 验证输入的数字是整数还是“一半”
- 如何在javascript中将整个数组从字符串转换为整数/数字
- 输入文本将值转换为整数/数字/数字进行比较