我在html页面上有许多输入框。我想限制用户输入2位小数后的任何数字。以角度限制2位小数后的输入字段
回答
吉尔赫尔梅费雷拉描述它在其博客上:
Angularjs input number with two decimal places
创建具有号码类型和步骤的数量输入inerval
<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal" *step="0.01" />
设置正则表达式使用NG-验证输入模式。在这里,我想,最大的2位小数,并用点分隔只接受数字
<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" />
编辑:
angular.directive('decimalPlaces',function(){
return {
link:function(scope,ele,attrs){
ele.bind('keypress',function(e){
var newVal=$(this).val()+(e.charCode!==0?String.fromCharCode(e.charCode):'');
if($(this).val().search(/(.*)\.[0-9][0-9]/)===0 && newVal.length>$(this).val().length){
e.preventDefault();
}
});
}
};
});
然后:
此使用指令,以便接近问题在您的HTML代码中使用它:
<input type="number" step="0.01" ng-model='somemodel' decimal-places>
谢谢为答复。但输入字段仍然允许我输入小数点后的数字。 – OptimusPrime
看看这个SO:http://stackoverflow.com/questions/16134391/restrict-number-of-decimals-in-html5-type-number-input-field-with-angularjs-m – Tomislav
谢谢Tomislav,它工作。 – OptimusPrime
您可以使用此指令来实现相同。
.directive('validNumber', function() {
return {
require: '?ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
if (!ngModelCtrl) {
return;
}
ngModelCtrl.$parsers.push(function (val) {
var clean = val.replace(/[^0-9\.]+/g, '');
if (val !== clean || val.indexOf('.') != val.lastIndexOf('.')) {
if (val.indexOf('.') != val.lastIndexOf('.')) {
clean = clean.substring(0, clean.length - 1)
}
}
if (clean.indexOf('.') != -1) {
if (clean.length > (clean.indexOf('.') + 3)) {
clean = clean.substring(0, clean.length - 1)
}
}
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
return clean;
});
element.bind('keypress', function (event) {
if (event.keyCode === 32) {
event.preventDefault();
}
});
}
};
})
该指令验证数字输入,并限制输入字段中的两个小数点。
- 1. 将输入类型数字限制为2角度2中的小数位数
- 2. 角度限制输入[数字]长度
- 3. 限制输入字段以一个小数点和两个小数位
- 4. 限制小数点后的位数在HTML5型(Angularjs模型)=“号”输入字段
- 5. 使用jQuery将输入字段限制为两位小数
- 6. 限制用户输入仅限于2位小数的有效数字C/C++
- 7. 限制除角度2以外的整数字符
- 8. REACT - 防止小数点后2位小数点后的输入
- 9. Javascript限制输入一次达到2位小数
- 10. cakephp字段输入限制
- 11. dojox.grid.DataGrid如何添加输入字段并限制输入大小
- 12. 如何限制输入小数点后两位?
- 13. 在角度js中只输入小数点后两位小数点
- 14. JavaScript计算输入字段值并显示2位小数精度
- 15. 以指数形式显示数字在一定的限制后也限制小数位后的数字
- 16. 如何将html输入限制为正数小数点后两位小数?
- 17. 将文本字段限制为一位小数点输入,仅限数字,小数点后两位字符 - Swift 3
- 18. 获取输入字段和下拉角度的值2
- 19. 正则表达式来限制输入字段atmost两位小数
- 20. 限制小数点后的位数
- 21. 可变输入字段长度的jquery字符限制
- 22. 使用角度2 /离子限制字符串长度2
- 23. 角度2输入propery更改不检测角度DoCheck后
- 24. 如何仅显示角材料和角度js中输入字段的最后四位数字?
- 25. 限制一个双精度到小数点后两位的小数位
- 26. 如何限制EditText框输入小数点后两个字符?
- 27. Swift文本字段(IOS,Xcode 7.3,Swift 2):4位数字的用户密钥。如何将输入限制为数字并将数字位数限制为4
- 28. 如何在将输入字段乘以两位后更新输入字段
- 29. 将django FloatField限制为2位小数
- 30. 启用按钮输入角度2以外的其他字符
您可以讨论到目前为止您尝试过哪些解决方案,您已经研究过哪些资源来尝试解决您的问题,还是可以介绍代码的当前状态以供进一步分析? – Chase
我尝试使用下面的方法,http://stackoverflow.com/questions/16134391/restrict-number-of-decimals-in-html5-type-number-input-field-with-angularjs-m,它的工作 – OptimusPrime