开发者

Requires regex for US Phone Format

I need a regex that will match the US phone in a slightly different manner. Actually, on my page i have textbox for taking input, there i had place regular expression validator and the regex to validate the zip code in 999-999-9999. Till here everything was fine. Later on we added MaskedEditor extender to avoid manually adding - in between the codes of phone number. Also the ClearMaskOnLostFocus is s开发者_如何学Goet to false. So every time we have ___-___-____ in our textbox. And my validator is now always validating its against invalid input.

So finally i would like say, i need a regex that will match if my phone is a valid US phone and also passes ___-___-____ , instead of the two it will break..

[Existing Regex]

^[0-9]{3}[\-]{1}[0-9]{3}[\-]{1}[0-9]{4}$


In Javascript - here:

  /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;  

It came from google... http://www.zparacha.com/phone_number_regex/

Here it is part by part:

/^      = match must start with - no chars before
\(?     = optional left brace
(\d{3}) = 3 digits
\)?     = optional right brace
[- ]?   = optional hyphen or space
(\d{3}) = 3 digits
[- ]?   = optional hyphen or space
(\d{4}) = 4 digits
$/      = match must end here - no chars after


Just use the following:

(<your current regex>)|(___-___-____)


Try to look at libphonenumber for inspiration or use. It has most stuff you can need regarding this.


PhoneFormat.com has a javascript library that will take whatever number you throw at it, in whatever format you have, and properly format it. If you pass ___-___-____ or 999-999-9999 it will handle it just fine.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜