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+)\.(\d\d).*$/,'$1$2.$3');
   //保证.只出现一次,而不能出现两次以上
   obj[attr] = obj[attr].replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
}

 

posted @ 2018-11-13 09:07  青芒灬  阅读(1589)  评论(0)    收藏  举报