金额数字校验

本文介绍了一种前端实现的金额输入限制与验证方法,确保用户输入的金额格式正确且符合特定的长度和精度要求。通过JavaScript函数实现了对非数字字符的过滤、去除多余的点、限制整数部分和小数部分的长度等功能。
摘要由CSDN通过智能技术生成
<td>
    <input id="enjSpAmount" onblur="checkMoney(this)" onkeyup="onlyNumber(this)">
</td>
//只能输入金额
function onlyNumber(obj){
     //先把非数字的都替换掉,除了.
     obj.value = obj.value.replace(/[^\d\.]/g, '');
     //不能是0开头
     obj.value = obj.value.replace(/^0\d[0-9]*\.?\d*/g, '');
     //保证逗号前的数字不能多于22个,小数位不能多于2个
     var vals = obj.value.split(".");
     var zsw = vals[0];
     var xsw = vals[1];
     if (zsw.length > 22) {
         zsw = zsw.substring(0, 22);
     }
     if (xsw) {
         if (xsw.length > 2) {
             xsw = xsw.substring(0, 2);
         }
         obj.value = zsw + "." + xsw;
     } else {
         if (obj.value.indexOf(".") > 0) {
             obj.value = zsw + ".";
         } else {
             obj.value = zsw;
         }
     }
     //必须保证第一个为数字而不是.
     obj.value = obj.value.replace(/^\./g,'');
     //保证只有出现一个.而没有多个.
     obj.value = obj.value.replace(/\.{2,}/g,'.');
     //保证.只出现一次,而不能出现两次以上
     obj.value = obj.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.');
 }

 //校验金额
 function checkMoney(obj) {
     var num = obj.value;
     if (num == "") {
         $.simpleAlert("金额不能为空!");
         return false;
     } else if (num.substring(num.length - 1) == ".") {
         $.simpleAlert("金额不能以.结尾!");
         return false;
     }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值