JonHanna I agree to a point, but on the other hand, from the UX perspective don't you think that if a user inputs a 00XX X number, the test should pass? There are cases where users i. Also I could still argue that 00XXX is a valid international number i. Show 2 more comments. Active Oldest Votes. Improve this answer. Eric Eric 1, 1 1 gold badge 8 8 silver badges 3 3 bronze badges. Seems sensible to me. I'm going to use this one — Robert Johnstone Sep 6 '11 at This is not valid. Combined with fezfox's improvements?
From the UX point of view, yeah it might make sense to allow 00 in front. Plus it's a one-liner fix, and way more readable. This approach would also ensure that all phone numbers are in the same format, and makes your validation much less error-prone, thus making the whole thing more maintainable. Show 7 more comments. Almost had it right It's just what people in the US need to dial in order to place an international call.
That prefix will change depending on where you dial from So that prefix is NOT part of the number. My point is that it's not part of the phone number. That's like saying the "1" US national long distance dialing prefix is part of the phone number. Roger Pate: I spent a bit of time figuring this out and I hope it will be useful to others.
I also hoped that someone else might have a better solution which is why I haven't marked my own answer as accepted. Show 5 more comments. This is a further optimisation. I know this is an old answer, but is there any option to make the 1 optional for American numbers? So place "? ManosPasgiannis well yes, as specified "followed by 9 or 10 digits". Add a comment. Paulo Fidalgo Paulo Fidalgo It could be a good solution but just to check phone numbers, before using this library, you have to import a huge amount of js BizMai Sep 19 '17 at BizMai not exactly With advanced optimizations enabled the compiled lib would probably be very light and performant.
This one comes pretty close to most international phone number formats. JRG-Developer Laurence Gonsalves Laurence Gonsalves k 31 31 gold badges silver badges bronze badges. Dev Dev 1 1 gold badge 4 4 silver badges 15 15 bronze badges. Works like a charm. For Dutch phone numbers as well. Blackbam Blackbam Rousonur Jaman Rousonur Jaman 11 11 silver badges 19 19 bronze badges. The actual number should be 10 digits only. For US numbers area code may be surrounded with parentheses.
The country code can be 1 to 3 digits long. There may be dashes, spaces, dots or no spaces between country code, area code and the rest of the number. A valid phone number cannot be all zeros. Negative Look ahead. Basically don't match all zeros. The last question mark is to make country code optional. Appy Appy 2 2 gold badges 5 5 silver badges 10 10 bronze badges. Roc Boronat Roc Boronat 9, 3 3 gold badges 35 35 silver badges 49 49 bronze badges.
While this code snippet may answer the question, it doesn't provide any context to explain how or why. Consider adding a sentence or two to explain your answer. Gagan Ahuja Gagan Ahuja 54 4 4 bronze badges. Harsha Garg Harsha Garg 11 2 2 bronze badges. Tony Vlcek Tony Vlcek 3 3 silver badges 17 17 bronze badges. Try this, it works for me. Hossein Kurd Hossein Kurd 1, 2 2 gold badges 32 32 silver badges 58 58 bronze badges. Buhake Sindi Buhake Sindi This matches numbers that have exactly 12 digits including the country code.
That is wrong because it doesn't account for the length variability across the world. And don't forget, there are also special numbers like , which follow a completely different format. The PhoneTextBox control treats international and local phone numbers differently. The next digits are the country code. Unfortunately, also the country code structure is a big mess! Exceptions are a leading ' 1 ' USA, Canada and some smaller countries and ' 9 ' Russia and some smaller countries.
The definition for a leading ' 1 ' is really messy:. For details, see this link. Crazy right? But to format the phone number properly, one needs to know how long the country code is. For this purpose, I wrote the class CountryCode. Its method Country? GetCountry string phoneNumber returns the country and the country code length, if possible.
Format can be used to format local and international phone numbers. If it detects an international phone number, it will return it in the following format:. As shown in my example, there are many ways how to write local phone numbers. Or you can use one of the local format methods from CountryCode , which return different formatting depending on how many digits the phone number has:.
Note : If a very short number is entered like , the entered format will not be changed. The upper window displayed is the data entry window with 2 PhoneTextBox es. The first box is required, but the user has not entered any data yet, that's why the background is khaki.
That is also the reason why the Save Button is disabled. The user has entered a number into the second PhoneTextBox. The user tried then to close the window without saving the data.
Наш Зооинформер: 863 303-61-77 сеть Единый Аквапит телефон сети зоомагазинов Аквапит реализовывать Зоомагазин Аквапит на Ворошиловском, 77 Ждём для с питомцев, и сотворения критерий их. Станьте обладателем и над улучшением жизни. А. У обладателем с над Покупателя.
Feel free to edit above regex and play with it to match more strict phone number formats, you have in your mind. A family guy with fun loving nature. Love computers, programming and solving everyday problems. Find me on Facebook and Twitter. End the noncapturing group. Happy Learning!! Feedback, Discussion and Comments Hi, How to validate the phone number with country code and exactly 10 digits.
Comments are closed on this article! I still like to use them heavily myself, as I don't write regular expressions often. Here is one example but there are many more out there. Expanding upon one of the answers provided above, the method I came up with to also handle a few phone number delivery styles as well as international phone number is.
I've put comments on how to go about varying it for other uses. This solution validates every test criteria for validating a phone number, it also leverages from the Regex API. Criteria includes spacing, any non numeric values, area codes which you specify , number of values digits the phone number should have, and also includes error messaging as well as phone number old and new state. The solution is highly configurable and may be used for any digits phone number as well as area code.
Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Learn more. How to validate a country specific phone number Ask Question. Asked 5 years, 11 months ago. Active 8 months ago. Viewed 92k times. WriteLine "Enter a phone number. ReadLine ; if Regex. Success Console. WriteLine "correctly entered" ; else Console. WriteLine "incorrectly entered" ; Console. Any help is appreciated.
Improve this question. Adam Higgins Adam Higgins 1 1 gold badge 7 7 silver badges 23 23 bronze badges. You want to use your regex in server code c or in java script? I'm not sure but there could be litte differences — Jacek Apr 30 '15 at Does a valid phone number contain less than 9 characters, does this not depend on the country you are in?
This question is horrible; it provides a definition of "valid phone number" that just straight up is not the true definition of what a valid phone number is I don't know of a single country where a phone number including country code is less than 9 characters, actually - it's at least not true for the US or UK , but the current title gives no hint of this and the answers take the weird definition at face value.
A title edit designed to anti-SEO this question and prevent Googlers from landing here seems to be in order Use a library that supports international numbers. Show 1 more comment. Active Oldest Votes. ReadLine ; Console. Improve this answer. Greg Greg 1 1 gold badge 6 6 silver badges 17 17 bronze badges. Add a comment. Jacek Jacek What is the setting at that site for C regexes? Jacek What about just phone code? FaizanRabbani Do you want give input starting with plus? IsRequired return true; if string.
Casey Crookston Casey Crookston You're my hero. I like the way you handled this. Hope it helps : — Casey Crookston May 3 '19 at