2013-01-20 38 views
0

我想创建一个使用addMethod的jQuery验证器。这对我来说都是新的,所以我学习的很慢。我有一个验证器,下面是一个基于英国手机号码的验证器。这工作正常。jQuery验证插件addMethod - 如何创建一个数字表格验证程序

我想创建一个新的数字,只允许在表单中接受一小部分数字。例如,数字1至5将被接受,但不接受任何更低或更高的数字。

此外,可以这样做,只有一个号码被接受?即5.

任何帮助非常感谢。就像我说的,我对这种编码是新手,所以我仍然在找到自己的方式。我尝试过无数次搜索,但是我一直无法回答我的问题。

jQuery.validator.addMethod('mobileUK', function(phone_number, element) { 
return this.optional(element) || phone_number.length > 9 && 
phone_number.match(/^((0|\+44)7(5|6|7|8|9){1}\d{2}\s?\d{6})$/); 
}, 'Please specify a valid mobile number'); 
+0

这是看你如何措辞你的问题,但是当我编辑你的OP,我认为你已经知道了'addMethod'为[jQuery的验证的一部分不明插件(http://docs.jquery.com/Plugins/Validation)。 – Sparky

+0

只是@Parky的答案。我不确定你是如何找到'mobileUK'函数的,但它是jquery中发现的一个精简版,用于验证其他方法。除非你有特殊原因不使用原始文件,否则只需在其中添加其他方法和'mobileUK方法,而忘记添加自己的方法。这个例子是这个分叉小提琴http://jsfiddle.net/ZZ7Ph/ –

回答

0

报价OP:“我要创建一个新的一个是数字和将只允许号码的小范围内的形式被接受对于 实施例号1〜5那样。接受,但不接受任何更低或更高的 “。

您不需要创建新的方法。 .validate()插件can already do this by default

$(document).ready(function() { 
    $('#myform').validate({ 
     rules: { 
      fieldname: { 
       range: [1, 5] 
      } 
     }, 
     messages: { // optional custom message 
      fieldname: { 
       range: "enter between {0} and {1}" 
      } 
     } 
    }); 
}); 

HTML:

<input type="text" name="field1" /> 

工作演示:

http://jsfiddle.net/uLSPU/

报价OP:“还有,能不能做到,只有一个号码被接受?即5.“

是... http://jsfiddle.net/aTf32/

range: [5, 5]