Validating international phone numbers Desithreesome
You'll want to parse the first few digits to determine what the country code is, then act differently based on the country.
The international accounts for an optional initial ' ' and country code. Valid matches would be: You'll have a hard time dealing with international numbers with a single/simple regex, see this post on the difficulties of international (and even north american) phone numbers.
And i have to find a solution to count the amount of digits and enforce a specific amount.
One thing i tried with this one is to use multiple phone numbers, but it doesnt work that well if they have spaces around.
Rather than try to solve all that, take the input and "pre-strip" it of all formatting fluff until you have just the "number". How are extensions (e.g., 111-222-3333 x 44444) going to be handled? So far, it's been working with everything they've thrown at it, but if errors come up, I'll update this answer.
Doing this solves 2 problems - testing the result is now easy and you can now ensure that values rendered back out for display can all be formatted consistently. Regex: Here's a wonderful pattern that most closely matched the validation that I needed to achieve.
On the contrary, the 555 prefix is reserved for fake-out phone numbers. :\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(? -Adam My gut feeling is reinforced by the amount of replies to this topic - that there is a virtually infinite number of solutions to this problem, none of which are going to be elegant.
Those numbers are guaranteed not to connect to an actual phone number so they're often used in television and movies to ensure that a viewer doesn't try to call the number and end up harassing some poor [email protected] While that was true decades ago, it is no longer true. Honestly, I would recommend you don't try to validate phone numbers.
Beyond that - the list you gave does not include another common US format - leaving off the initial 1. Everything else is just for user's convenience to protect against some (but not all) typos and does not validate anything. 123 Out-of-country format from US 1 (234) 567-8901 ext. This is what you do when the number correctness is important.This regex will check for 10 or 11 digit numbers which are there in UK numbers, starting with a 0, which may have formatting spaces between any of the digits, and optionally a set of brackets for the area code. Also in your regex you need to add @ to get rid of that error(^(?