It would be great if someone could help me with a Regex for phone numbers. Following are the conditions:
Not exactly the answer to your question, but for those who need to work with phone numbers, there is a .NET port of Google's libphonenumber: libphonenumber-csharp.
Try with:
^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$
However it does not handle number counting