正则表达式验证美国电话号码的格式
问题描述:
我搜索了电话号码验证,并结束了与下面的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
谢谢。
答
您可以在正则表达式
(x\d{4})?
将匹配x再跟数字的末尾添加一个可选的比赛,那就是如x1234
如果存在
-
(x\d{4})?
量词?
比赛零次或一次发生的(x\d{4})
该正则表达式可以是
^\(?(\d{3})\)?[-\. ]?(\d{3})[-\. ]?(\d{4})(x\d{4})?$
只是在最后脱掉$ – dandavis 2014-11-21 06:27:21