2013-05-09 186 views
0

我正在使用以下jquery函数来仅允许数字输入。它工作正常,但客户端现在想限制输入为8个数字值。是否在使用下面的代码来限制字符数?jquery:仅限数字输入,但也限制字符数

$(document).ready(function() { 
    $('input.numberinput').bind('keypress', function (e) { 
     return !(e.which != 8 && e.which != 0 && 
       (e.which < 48 || e.which > 57) && e.which != 46); 
    }); 
});​ 

在此先感谢您。

+0

只需添加一个' &&(this.value.length> = 8);'在你当前的return语句中,它应该可以正常工作。 – 2013-05-09 13:49:48

+1

你能不能在''标签上加上'maxlength'属性? – 2013-05-09 13:58:03

回答

3

试试这个

$(document).ready(function() { 
$('input.numberinput').bind('keypress', function (e) { 
    if(this.value.length>= 8) 
      { 
      alert('Maximum limit is 8'); return false; 
      } 
    return !(e.which != 8 && e.which != 0 && 
      (e.which < 48 || e.which > 57) && e.which != 46); 
}); 

});

+0

完美的作品。谢谢!!!! – user1176783 2013-05-09 14:22:48

-1

只要检查this.value.length,例如:

if(this.value.length >= 8) { 
    alert('maximum of 8 characters.'); 
}