js验证input输入正整数 和 输入的金额小数点后保留两位(PC端键盘输入)

// 验证开头不为零的正整数
WST.zhengZhengShuIn = function (className){
    var rex = /^[1-9]{1}[0-9]*$/;//正整数
    $("."+className).keyup(function(event){
        var event = event || window.event;
        var value = $(this).val();
        if(value.length>1){
            var flagRex =/^0/;
            if(flagRex.test(value)){
                layer.msg('首个字符不能为0',{time:1500});
                $(this).val('');
            }
        }
    });
    $("."+className).keypress(function(event){
        var event = event || window.event;
        if (event.charCode == 46 && event.charCode !== 0 && event.charCode < 48 || event.charCode > 57) {
            return false;
        }
        if (/\./.test($(this).val()) && event.charCode === 46) {
            return false;
        }
        if ($(this).val() === "" && event.charCode === 46) {
            return false;
        }
        var tails = ($(this).val()).split(".")[1];
        if (tails && tails.length === 2 && event.charCode !== 0) {
            return false;
        }
    });

}
//验证 价格小数点后保留两位
 WST.onlyPriceNum = function (obj) {
    var priceRegex = /^\d+\.?\d{0,2}$/;
    obj.blur(function(event) {
        var event = event || window.event;
        var val = $(this).val();
        var newVal = val.replace(/[^\d.]/g, "");
        newVal = newVal.replace(/^\./g, "");
        newVal = newVal.replace(/\.{2,}/g, ".");
        newVal = newVal.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
        newVal = newVal.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
        $(this).val(newVal);
    });
    obj.keyup(function(event) {
        var event = event || window.event;
        var val = $(this).val();
        var newVal = val.replace(/[^\d.]/g, "");
        newVal = newVal.replace(/^\./g, "");
        newVal = newVal.replace(/\.{2,}/g, ".");
        newVal = newVal.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
        if (newVal.length > 0) {
            var valArray = newVal.split(".");
            var index = newVal.indexOf(".");
            if (valArray.length === 1) {
                if (index !== -1) {
                    newVal = parseInt(valArray[0]) + ".";
                } else {
                    newVal = parseInt(valArray[0]) + "";
                }
            } else {
                newVal = parseInt(valArray[0]) + "." + valArray[1];
            }
        }
        newVal = newVal.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
        $(this).val(newVal);
    });
    obj.keypress(function(event) {
        if (event.charCode !== 46 && event.charCode !== 0 && event.charCode < 48 || event.charCode > 57) {
            return false;
        }
        if (/\./.test($(this).val()) && event.charCode === 46) {
            return false;
        }
        if ($(this).val() === "" && event.charCode === 46) {
            return false;
        }
        var tails = ($(this).val()).split(".")[1];
        if (tails && tails.length === 2 && event.charCode !== 0) {
            return false;
        }
    });
}

 

转载于:https://www.cnblogs.com/lst619247/p/8618440.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值