RegEx用于验证美国电话号码格式

时间:2014-11-21 06:21:12

标签: javascript jquery regex validation

我搜索了电话号码验证,最后得到了以下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 1231231234

我需要为数字添加扩展名,例如

  

123-123-1234 x1234

     

(123)123-1234 x1234

     

1231231234 x1234

我尝试了所有我使用正则表达式的经验(很少:)但是没有用:(

您可以更改我的正则表达式以验证 x1234

感谢。

2 个答案:

答案 0 :(得分:2)

您可以在正则表达式的末尾添加可选匹配

( 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

答案 1 :(得分:0)

我认为这个问题也已经回答了问题。请检查此A comprehensive regex for phone number validation