2

我怎样才能有一个限制为 4 个数字/数字的输入,但如果输入文本,则字符长度是无限的?

最终工作代码:

    function isNumber (o) {
  return ! isNaN (o-0);
}

$("#txt").keyup(function(e){
    txtVal = $(this).val();  
     if(isNumber(txtVal) && txtVal.length>4)
     {
         $(this).val(txtVal.substring(0,4) )
           $(".error").html("4 Numbers Only").show();
      return false;
     }
});
});
4

3 回答 3

7

现场演示

HTML

 <input id="txt1" type="text" name="usrname" />​

JAVASCRIPT

function isNumber (o) {
  return ! isNaN (o-0);
}  

$("#txt1").keyup(function(e){
txtVal = $(this).val();  
 if(isNumber(txtVal) && txtVal.length>4)
 {
     $(this).val(txtVal.substring(0,4) )
 }
});
于 2012-06-13T05:21:06.720 回答
2

您可以检查该值是否为数值,并且当超过 4 个字符时触发验证。

$("#yourField").change(function(e){
     if(isNaN($(this).val()) && $(this).val().length > 4)
     {
        //trigger validation
     }
});
于 2012-06-13T05:28:52.620 回答
0

HTML

<input type="text" class="numeric" />

查询

$('.numeric').keypress(function(e) { 

var verified = (e.which == 8 || e.which == undefined || e.which == 0) ? null : String.fromCharCode(e.which).match(/[^0-9]/);
if (verified || e.delegateTarget.value.length>3 || e.ctrlKey ==true) { if(e.which!=8 ){e.preventDefault();}}

}).on('paste',function(e){ e.preventDefault();});

工作示例

http://jsfiddle.net/nadeemmnn2007/C4Y99/52/

于 2015-01-11T07:42:28.503 回答