2010-12-20 48 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驗證這些。