2012-06-14 78 views
5

如何在一個數字中只允許空格驗證,最少8位數? 當空格被允許時,電話號碼更容易輸入。例如0400 123 456,9699 1234jQuery電話號碼驗證允許空格,最少8位

這裏是我的代碼,到目前爲止,我只帶了最小的8個位數的驗證工作:

jQuery.validator.addMethod(
    "phone", 
    function(phone_number, element) { 
    return this.optional(element) || /^\d{8}$/.test(phone_number); 
    }, 
    "Please enter numbers only" 
); 
+0

嗨,發現這個職位,同時尋找一個答案,一個類似的問題。從未使用addMethod創建自定義驗證規則,您在文檔流中的哪個位置指定了自定義規則?那麼你怎麼從你的validate函數的rules部分調用它呢? – Barbs

回答

4

驗證之前刪除空格:

return this.optional(element) || /^\d{8,}$/.test(phone_number.replace(/\s/g, '')); 

這樣你保留空間

+0

謝謝你的工作,但我希望至少有8個號碼,有些電話號碼將有10位數字。我怎樣才能確保數字的位數大於8? – JV10

+0

@ JV10只需在大括號內的「8」後面添加一個逗號:),根據您的評論編輯我的答案 –

1

我的建議是驗證之前,只是刪除從phone_number的空間。

jQuery.validator.addMethod(
    "phone", 
    function(phone_number, element) { 
    return this.optional(element) || /^\d{8}$/ *$/.test(phone_number.replace(/\s/g, "")); 
    }, 
    "Please enter numbers only" 
); 
+1

我希望在提交表單時保留空格,這樣收件人就會更容易閱讀。 – JV10

+0

我根據您的評論進行了更新。 –