2010-10-21 56 views
1

我使用jQuery作为所有表单的验证工具,并且我有一个请求将一个字段上的输入长度限制为8,12或13个字符。现在,我已经在使用最小长度:8和最大长度:13来处理上限和下限,但还没有计算出如何将输入限制为三种长度中的一种。jQuery验证 - 将输入限制为3个特定长度

+0

http://stackoverflow.com/questions/1075962/jquery-text-输入长度控制 – zod 2010-10-21 15:38:07

回答

1

您可以添加自定义验证方法。 下面是一些粗糙的代码,让你开始:

jQuery.validator.addMethod("specific_lengths", function(value, element, param) { 
    if (this.optional(element)) return; 

    for (var i = 0; i < param.length; i++){ 
     if (this.getLength($.trim(value), element) == param[i]) 
      return true; 
    } 

    return false;    
}); 

然后,您可以挂钩这样的验证:

jQuery("#myform").validate({ 
    rules: { 
    myField: {required: true, 
       specific_lengths: [8, 12, 13] 
      }, 
    ... 
+0

谢谢,完美的工作! (尽管我将自定义验证的最后一行更改为“});”) – WannabeVagabond 2010-10-21 15:52:32

+0

不客气!我刚刚更新了你的更正答案 - 代码是非常好的写的,所以它有点原始:) – 2010-10-21 16:09:17