jQuery检查字段的长度,如果是特定的id

时间:2013-05-13 15:55:10

标签: jquery performance

我正在循环播放一系列输入框并执行 如果用户根本不输入任何内容,则进行验证。我有一个 条件,如果它是一个特定的id单一输入框 出来并对其进行单独验证。这是一个简单的验证 只需检查以确保表单的长度小于10个字符。 但由于某种原因,它不起作用。如果我输入一个字符 它只是进入下一次迭代。无论如何我也可以删除 在if语句中包含这些多个if语句。任何 非常感谢帮助。

$("form :input").each(function(){ 

var $this = $(this);

if(!this.value.length){

    if(this.id == "phoneNumber" && $this.is(":visible")){
       if($this.val().length < 10){
         alert("phone number required");
       }
    }


} else if($(this).is(":visible")){
  //do some other validation    
}

2 个答案:

答案 0 :(得分:2)

嵌套测试是问题所在:当您已经测试<10时,测试长度是否为0是没有意义的。当值为1个字符长度时,您甚至不会检查它是否与电话号码一样小。

你可能想要这个:

if (this.id == "phoneNumber" && $this.is(":visible") && this.value.length<10){
     alert("phone number required");
} else if(!this.value.length) {
     // alert field empty ?
} else ...

答案 1 :(得分:0)

jquery有一个验证插件。是否所有繁重的工作都适合你。它具有最小长度验证,加上验证,以查看该号码是否是有效的美国电话号码,有效的CC#和许多其他字段类型。 http://docs.jquery.com/Plugins/Validation