2010-12-20 49 views
3

我有一个表单,您必须在其中输入您的电话号码和其他字段。jQuery自定义验证:电话号码以6开头

我使用jQuery Validate验证了表单。

为了验证电话号码字段我做的:

rules: { 
    phone: { 
    required: true, 
     minlength: 9, 
     number:true 
    },.. 

但我也需要检查手机开始与6

我怎么能这样做?

+0

“by”=>“with”,只是供参考:“电话号码开始**与** 6” – 2010-12-20 14:46:49

+0

ooops,谢谢,很忙于拼写:) – Lleoun 2010-12-20 14:56:36

+0

@user:这不只是你,我看到*很多*。 :-)我见过的次数“我如何用Y代替X?”......我认为那里有一种广泛使用的语言,在那种情况下使用“by”的类比,并且人们翻译正在翻译太字面意思。它非常**可以原谅。 :-) – 2010-12-20 14:58:45

回答

2

我想你将需要添加一个自定义验证器。

$.validator.addMethod("phoneNumber", function(uid, element) { 
    return (this.optional(element) || uid.match(phone number regex)); 
} 
7

您可以添加自定义验证

jQuery.validator.addMethod("phoneStartingWith6", function(phone_number, element) { 
    phone_number = phone_number.replace(/\s+/g, ""); 
    return this.optional(element) || phone_number.match(/^6\d{8,}$/); 
}, "Phone number should start with 6"); 

,并使用它像这样:

rules: { 
    phone: { 
     required: true, 
     minlength: 9, 
     phoneEnding6: true 
    },.. 

您需要编辑正则表达式中phone_number.match,以满足您的要求。

+0

哇!非常感谢,它非常棒! – Lleoun 2010-12-20 15:10:21

+1

如果它解决了您的问题,您可以通过单击左侧的大复选框来接受它(除非您期待更好的答案),您可以接受它作为答案。 :) – dheerosaur 2010-12-20 15:25:06

+0

这个工程很好,除了方法名称是误导。它应该是'phoneStarting6'吗? – Raptor 2015-04-23 09:03:23

0

您也可以尝试简单的JavaScript函数

"Hello World!".startsWith("He"); //true 

注:本评论/代码是谁不使用jQuery验证这些。