2014-11-21 148 views
0

我搜索了電話號碼驗證,並結束了與下面的javascript代碼正則表達式驗證美國電話號碼的格式

jQuery.validator.addMethod("phoneUS", function(phone_number, element) { 
     phone_number = phone_number.replace(/\s+/g, ""); 
     return this.optional(element) || phone_number.length > 9 && 
       phone_number.match(/^\(?(\d{3})\)?[-\. ]?(\d{3})[-\. ]?(\d{4})$/); 
}, ""); 

上面的代碼將低於返回true格式

123-123-1234(123)123-1234

NW I需要爲號碼添加擴展例如

123-123-1234 X1234

(123)123-1234 X1234

1231231234 X1234

我試着與我的正則表達式(多一點:))所有的經驗,但沒有工作:(

你能改變我的正則表達式來驗證x1234

謝謝。

+0

只是在最後脫掉$ – dandavis 2014-11-21 06:27:21

回答

1

您可以在正則表達式

(x\d{4})? 

將匹配x再跟數字的末尾添加一個可選的比賽,那就是如x1234如果存在

  • (x\d{4})?量詞?比賽零次或一次發生的(x\d{4})

該正則表達式可以是

^\(?(\d{3})\)?[-\. ]?(\d{3})[-\. ]?(\d{4})(x\d{4})?$ 

例如:http://regex101.com/r/sG9qJ6/1

相關問題