angularjs控制输入框只输入数字及最多输入两位小数

ps:示例中作用在循环中,其它的你可以按实际需求进行修改使用

<input type="text" ng-model="item.productNumber" maxlength="8" ng-keyup="clearNoNum(item,'productNumber')">

js:

// 用户输入校验
$scope.clearNoNum = function (obj, attr) {
   //先把非数字的都替换掉,除了数字和.
   obj[attr] = obj[attr].replace(/[^d.]/g, "");
   //必须保证第一个为数字而不是.
   obj[attr] = obj[attr].replace(/^./g, "");
   //保证只有出现一个.而没有多个.
   obj[attr] = obj[attr].replace(/.{2,}/g, "");
   //只能输入两个小数
   obj[attr] = obj[attr].replace(/^(-)*(d+).(dd).*$/,'$1$2.$3');
   //保证.只出现一次,而不能出现两次以上
   obj[attr] = obj[attr].replace(".", "$#$").replace(/./g, "").replace("$#$", ".");
}
原文地址:https://www.cnblogs.com/muou2125/p/9950416.html