jquery验证input只能输入数字、整数

1.方法

 

//正整数和小数
function checkNum(e) {
    if(isNaN(e.value)){
        layer.msg("请输入正确的数字");
        e.value = "";
        e.focus();
    }
}
//正整数
function checkInt(e) {
    var re = new RegExp("^[0-9]*[1-9][0-9]*$");
    if (e.value != "") {
        if (!re.test(e.value)) {
            layer.msg("请输入整数");
            e.value = "";
            e.focus();
        }
    }
}

2.使用

 

<input class="form-control" onkeyup='checkInt(this)' placeholder="数字越小越靠前显示" name="orderby" id="orderby" min="1" type="text" max="999"
      value="99" />

3.使用onkeyup事件是防止用户使用tab切换到下一个input导致验证不了。

最近学到的另一种简单的方式:

<input class="form-control" name="totalNum" id="totalNum" type="number" maxlength="7"
							   value="" placeholder="发放数量" onkeyup="this.value=this.value.replace(/\D/g,'')"  onafterpaste="this.value=this.value.replace(/\D/g,'')" />

注意:最近我使用上面这种方式,如果加了type="number"好像可以输入多位数字。去掉即maxLenth是多少就只能输入几个字符,具体的自己测试。

4.金额-并保留两位小数

function checkNum(e) {
    if(isNaN(e.value)){
        layer.msg("请输入正确的数字");
        e.value = "";
        e.focus();
    }else{
        if(parseFloat(e.value) > parseFloat($('#ketixianPrice').text())) {
            layer.msg("提现金额不能大于可提现金额");
            e.value = "";
            e.focus();
        }
        var money = e.value;
        if(money.split(".").length == 2) {
            if(money.split(".")[1].length > 2) {
                layer.msg('请最多输入两位小数');
                e.value = money.substr(0,money.length-1);
                e.focus();
            }
        }

    }

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值