使用HTML 5和angularJs只允许整数(和限制小数)的最快方法是什么

时间:2017-07-28 09:05:09

标签: javascript angularjs html5

我有一个文本输入,会收到ID。我想只允许整数。

以下代码不允许使用特殊字符,但允许使用float / decimals:

<input type="number" class="form-control input-sm ng-touched ng-dirty ng-valid ng-valid-number" name="idCliente" id="idCliente" placeholder="ID Cliente" ng-model="vm.idCliente" ng-pattern="/^[0-9]*$/" ng-class="{'error': panelControl.idCliente.$error.pattern}">

什么是限制客户端小数的最快方法?

2 个答案:

答案 0 :(得分:1)

您需要添加将在keyup事件上触发的函数,并根据此操作num % 1 != 0的结果返回true或false。然后,您可以通过向输入添加错误类和/或将模型值更改回null来显示警告 的 P.S。
使用正则表达式来实现这样的微不足道的目的,从性能的角度来看,这不是一个好主意。

答案 1 :(得分:0)

使用此正则表达式[0-9]+(\.[0-9][0-9]?)?仅允许ng-pattern

中的数字和对数点

演示

angular.module("app",[])
.controller("ctrl",function($scope){


})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
 <input type="number" class="form-control input-sm ng-touched ng-dirty ng-valid ng-valid-number" name="idCliente" id="idCliente" placeholder="ID Cliente" ng-model="vm.idCliente" ng-pattern="/[0-9]+(\.[0-9][0-9]?)?/"  >

</div>