angularjs中的验证input输入框只能输入数字和小数点

把js的验证方法改成angular可使用的方法

angularjs文件的写法:

$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(".","$#$").replace(/\./g,"").replace("$#$",".");

}


页面:

<input type="text" name="chargeid2" ng-model="item.chargeid2" ng-keyup="clearNoNum(item,'chargeid2')"  placeholder="" class="form-control input-sm" >

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用JavaScript来实现elul输入框只能输入数字小数点的功能,具体实现方法如下所示: ```javascript // 获取elul输入框元素 var elulInput = document.getElementById("elul-input"); // 给elul输入框绑定onkeydown事件 elulInput.onkeydown = function(event) { // 获取当前按下的键的keyCode var keyCode = event.keyCode; // 允许数字键、小数点键、删除键、退格键以及左右方向键 if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105) || keyCode == 190 || keyCode == 110 || keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39) { return true; } else { return false; } }; // 给elul输入框绑定onkeyup事件 elulInput.onkeyup = function(event) { // 获取elul输入框的值 var value = elulInput.value; // 将非数字小数点的字符替换为空字符串 value = value.replace(/[^\d\.]/g, ""); // 将多余的小数点替换为空字符串 value = value.replace(/\.{2,}/g, "."); // 将小数点前面的多余的0去掉 value = value.replace(/^0+(\d+)/g, "$1"); // 将小数点后面的多余的0去掉 value = value.replace(/(\.\d+?)0+$/g, "$1"); // 将elul输入框的值设置为处理后的值 elulInput.value = value; }; ``` 在上述代码,我们首先获取了elul输入框的元素,然后给它绑定了onkeydown和onkeyup事件。在onkeydown事件,我们判断了当前按下的键是否是数字键、小数点键、删除键、退格键以及左右方向键,如果是则返回true,否则返回false,这样就可以限制elul输入框只能输入数字小数点了。在onkeyup事件,我们获取了elul输入框的值,然后使用正则表达式将非数字小数点的字符替换为空字符串,将多余的小数点替换为空字符串,将小数点前面的多余的0去掉,将小数点后面的多余的0去掉,最后将elul输入框的值设置为处理后的值,这样就可以保证elul输入框数字小数点的格式是正确的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值