if + is mandatory in your number than do this in c#
string[] numbers = new string[] { "+46703897733","+46733457773","46733457773"};
string regexPattern = @"^\+(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
Regex r = new Regex(regexPattern);
foreach(string s in numbers)
{
if (r.Match(s).Success)
{
//"+46703897733","+46733457773" are valid in this case
Console.WriteLine("Match");
}
}
if + is not mandatory you can do this
string regexPattern = @"^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
// all the numbers in the sample above will be considered as valid.