用户输入maxlength处理

时间:2013-01-14 09:41:34

标签: jquery input maxlength

 <input type="text" name="user" maxlength="10">

我有一些代码:

$("#user").keyup(function(e){ 
  if($("#user").val().length < 4) {$("#spanUser").html("Too Short !");}  //works

我怎么写:

if($("#user").val().length > 0 < 4)... // between 1 and  4
if($("#user").val().length == 10) {play a beep sound;}

8 个答案:

答案 0 :(得分:1)

使用&amp;&amp;操作者..

试试这个

var valLength=$("#user").val().length ;  //declare a variable..  which is bit faster than calling a selector again n again

if(valLength > 0  && valLength< 4){  //use && operator here
   //do your stuff
}else if(valLength == 10){  //else if length is 10..
   //play beep sound
}

答案 1 :(得分:1)

if($("#user").val().length > 0  && $("#user").val().length< 4)
{
    //between 1 and  4
}

答案 2 :(得分:1)

$("#user").keyup(function(e){ 
    var elem = $("#user");
  if(elem.val().length < 4) {
      $("#spanUser").html("Too Short !"); //works
   } else if(elem.val().length > 0 && elem.val().length < 4) {
      //Your code here    
    } else if(elem.val().length == 10) {
      //play beep sound    
    } 

答案 3 :(得分:1)

你的意思是:

var length = $("#user").val().length;
if(length > 0 && length < 4)
{... // between 1 and  4
}
else if(length == 10)
{play a beep sound;}

答案 4 :(得分:1)

你可以为这个

应用这种正则表达式
^[A-Za-z]{1,4}$

您可以使用范围量词{min,max}指定最少1个字符,最多4个字符

var patt1=new RegExp("^[A-Za-z]{1,4}$");
if(patt1.test($("#user").val())
{
}

答案 5 :(得分:1)

首先,您应该使用keypress事件,因为您当前的代码允许某人按住该键并获得多个字符。

$("#user").keypress(function(e) { 
    var userVal = $("#user").val();
    if (userVal.length >= 1 && userVal.length <= 4) {
        $("#spanUser").html("Too Short !");
    }
    else if (userVal.length == 10) {
        // play beep sound
    }
});

答案 6 :(得分:1)

我认为用一种条件检查就足够了。看看你如何拥有一个文本框,无论如何,长度只能是一个正数。

if($("#user").val().length) < 4) {
    //your code.
}

答案 7 :(得分:1)

从用户体验的角度来看,您的实施存在一些问题。

首先,作为最终用户,我不想在开始写文本框时立即看到警告。当用户完成用户文本框时,您最好显示此警报/警告。你应该考虑失去焦点事件。

第二,当输入达到最大值时播放声音不是一个好主意。您的用户使用的设备可能没有声音功能或禁用的声音设备。甚至用户也可能听力不足。对于大多数情况,MaxLenght应该足够了。如果你想更多地强调这个限制,你可以在输入旁边放一个警告,但是能见度很低。

我知道这不是你问题的答案,但可以某种方式帮助你。