Angular JS-如何验证数字输入中的位数
Angular JS - How do you validate the number of digits in a number input
我们想要做的是,有一个只接受0-24的输入(对于时间输入应用程序)。
这些是用户应该能够输入到输入中的值:
0
1
2
3
4
5
6
7
8
9
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
当前代码如下:
HTML:
<div class="list list-inset">
<label class="item item-input">
<input id="time" type="number" placeholder="24" ng-model="$parent.time1" ng-change="onChange(time1)">
</label>
<label class="item item-input">
<input type="tel" placeholder="24" ng-model="time2" >
</label>
</div>
JS/Angular:
var savedTime = 0;
$scope.onChange = function(time) {
if (time > 23 || currentTime > 2) {
$scope.time1 = savedTime;
} else {
savedTime = time;
};
};
这可以很好地限制数字,但不会阻止用户输入我们不想要的无限数量的前一个0
。
我尝试使用time.toString().length
并使用它添加一些验证,但结果是,当设置为字符串时,作为数字的00000
仍然变为"0"
。
有没有更好的方法将位数限制在2以内?
非常感谢。
只需将$scope.time1 = parseInt(savedTime)
添加到函数的末尾-
var savedTime = 0;
$scope.onChange = function(time) {
if (time > 23 || currentTime > 2) {
$scope.time1 = savedTime;
} else {
savedTime = time;
};
$scope.time1 = parseInt(savedTime);
};
也许您可以使用[ng maxlength="number"]指令。将其设置为2,如下所示:
<div class="list list-inset">
<label class="item item-input">
<input id="time" type="number" placeholder="24" ng-model="$parent.time1" ng-change="onChange(time1)" ng-maxlength="2">
</label>
<label class="item item-input">
<input type="tel" placeholder="24" ng-model="time2" ng-maxlength="2">
</label>
</div>
您可以更改输入以匹配模式:
<input type="number" ng-pattern="/^[0-9]{1,2}$/" ...>
取决于您想要达到的效果。你可以这样做:
<input type="text" ng-pattern="/[0-9]{1,2}/"
maxlength="2"
ng-model="myCtrl.title">
这将防止用户输入超过2个字符的字符。如果字符不是数字,则会将字段类设置为ng-invalid-pattern
。
如果您不想阻止用户输入两个字符,并且只想在用户输入三个或更多字符时显示验证消息,只需删除最大长度即可。
相关文章:
- 是否有一种方法可以使用公共代码库在Java和JavaScript中进行输入验证
- 是否可以在数字输入框中的小按钮中添加事件侦听器
- 输入验证&使用javascript或asp返回
- 用于数字输入的正则表达式
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 敲除:如何对两个数字输入进行双向绑定
- 在数字输入上按回车键时提交
- 如何显示正好 2 位数字的 html 数字输入的输入值
- 如何在 JavaScript 中将输入验证为数字
- Javascript/Jquery:使用数字范围验证输入
- 如何验证字母数字输入之间的空格
- 禁用输入类型=数字的输入验证
- Angular JS-如何验证数字输入中的位数
- 数字输入验证
- 将数字输入的验证集成到代码的其余部分
- 日期输入和数字输入验证
- Javascript方法检查字符串中的数字(输入数据的验证)
- 如何在javascript中验证数字输入
- 非数字+的正则表达式只允许单个";用于输入验证
- 对 HTML 数字输入行为异常的自定义验证