2014-11-21 114 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

相关问题