jQuery将输入的数字/位数限制为4,但文本可以无限长
我怎么能有一个限制为4个数字/位数的输入,但如果键入文本,字符长度是无限的 最终工作代码:jQuery将输入的数字/位数限制为4,但文本可以无限长,jquery,input,numbers,limit,Jquery,Input,Numbers,Limit,我怎么能有一个限制为4个数字/位数的输入,但如果键入文本,字符长度是无限的 最终工作代码: function isNumber (o) { return ! isNaN (o-0); } $("#txt").keyup(function(e){ txtVal = $(this).val(); if(isNumber(txtVal) && txtVal.length>4) { $(this).val(txtVal
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;
}
});
});
HTML
<input id="txt1" type="text" name="usrname" />
您可以检查该值是否为数字值,如果超过4个字符,则触发验证
$("#yourField").change(function(e){
if(isNaN($(this).val()) && $(this).val().length > 4)
{
//trigger validation
}
});
HTML
工作示例
基本提示。但是这是如何回答这个问题的呢?如果你重读这个问题,你会从我这里得到+1。(无限文本,但只有4位。)@Adil很好,Adil…如果用户像这样输入aaa11111111并清除所有字符,请将此项检查到?是的@Gopesh这是可能遇到的情况之一。这可以帮助我们,但取决于我们到底想要什么。谢谢@Gopesh:)请查看演示
$("#yourField").change(function(e){
if(isNaN($(this).val()) && $(this).val().length > 4)
{
//trigger validation
}
});
<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();});