如何使用jQuery来提交并检查值是否为2-5个字符?

问题描述:

比方说,我有一个文本字段:如何使用jQuery来提交并检查值是否为2-5个字符?

Username: <input type="text" id="username" class="required" /> 
<input type="submit" /> 

和我有一些jQuery的:

$(document).ready(function() { 
    user = $("#username"); 

    user.submit(function() { 

    }) 
}) 

我要检查,如果在username输入值的长度在2 - 字符后,5我提交。如果不是,那么会发生一些事情。

我不太确定我应该在user.submit(function(){})之内。

首先,您需要一个实际的形式:

<form id="myForm"> 
    Username: <input type="text" id="username" class="required" /> 
    <input type="submit" /> 
</form> 

则:

$(document).ready(function(){ 
    $('#myForm').on('submit', function(e){ 
     e.preventDefault(); 
     var len = $('#username').val().length; 
     if (len < 6 && len > 1) { 
      this.submit(); 
     } 
    }); 
}); 

或者在HTML5中,你可以使用pattern属性(不支持的Safari和IE9和以下):

<form id="myForm"> 
    Username: <input type="text" id="username" pattern=".{2,5}" required /> 
    <input type="submit" /> 
</form> 

FIDDLE

绑定提交到form而不是输入类型文本并在提交事件中检查其值。最好是分配一些id来形成并使用表单id选择器来绑定submit。

$('form').submit(function(){ 
     username = $('#username').val(); 
    if(username.length > 1 && username.length < 6) 
    { 
    } 
}); 

您可以使用user.val()检查输入字段的值,并使用user.val().length检查字符串的长度。

这样,你可以做这样的事情:

if(user.val().length < 2 || user.val().length > 5) { 
    console.log('test') 
} 

我做了一个Fiddle

您可以使用的语句作为

$(document).ready(function(){ 
    $("#form").submit(function(e) { 
     length = $("#username").val().length; 
     if((length > 2 && length < 5)) { 
      $("#output").html("correct, logging in"); 
     } else { 
      $("#output").html("incorrect, must have 3 or 4 chars"); 
     } 
     return (length > 2 && length < 5); 
    }); 
}); 

和HTML

<form id="form" method="POST" action="http://www.cnn.com"> 
username: <input type="text" id="username" class="required" /> 
<input type="submit" />