0
 <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;}
4

8 回答 8

1

使用 && 运算符..

试试这个

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
}
于 2013-01-14T09:43:48.797 回答
1
if($("#user").val().length > 0  && $("#user").val().length< 4)
{
    //between 1 and  4
}
于 2013-01-14T09:43:52.390 回答
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    
    } 
于 2013-01-14T09:44:32.847 回答
1

你的意思是这样的:

var length = $("#user").val().length;
if(length > 0 && length < 4)
{... // between 1 and  4
}
else if(length == 10)
{play a beep sound;}
于 2013-01-14T09:44:36.980 回答
1

您可以为此应用这种正则表达式

^[A-Za-z]{1,4}$

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

var patt1=new RegExp("^[A-Za-z]{1,4}$");
if(patt1.test($("#user").val())
{
}
于 2013-01-14T09:45:01.567 回答
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
    }
});
于 2013-01-14T09:45:29.377 回答
1

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

if($("#user").val().length) < 4) {
    //your code.
}
于 2013-01-14T09:47:29.433 回答
1

从用户体验的角度来看,这里的实现存在一些问题。

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

其次,当输入达到最大值时播放声音不是一个好主意。您的用户正在使用的设备可能没有声音功能或已禁用声音设备。甚至用户也可能听力受损。MaxLenght 对于大多数情况应该足够了。如果你想更加强调这个限制,你可以在输入旁边放置一个警告,以某种方式降低可见性。

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

于 2013-01-14T09:52:08.910 回答