1using System.Text.RegularExpressions;
2
3public static void SplitEmails()
4{
5 string addressList = "kip@abc; joe.bloggs@mac.com , bob.jones@xyz.net, abc.co.uk;a.jones@recfirst.com";
6
7 // Extract emails, skipping blank entries
8 string[] emails = addressList.Split(new char[] {' ', ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
9
10 // Print the valid emails.
11 string[] validEmails = Array.FindAll<string>(emails, IsValidEmail);
12 foreach (string validEmail in validEmails)
13 {
14 Console.WriteLine("Valid Email = " + validEmail);
15 }
16
17 // Print the invalid emails
18 string[] invalidEmails = Array.FindAll<string>(emails, IsInvalidEmail);
19 foreach (string invalidEmail in invalidEmails)
20 {
21 Console.WriteLine("Invalid Email = " + invalidEmail);
22 }
23}
24
25public static bool IsValidEmail(string email)
26{
27 string pattern =
28 @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
29 @"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
30 @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
31 Regex re = new Regex(pattern);
32
33 return re.IsMatch(email);
34}
35
36public static bool IsInvalidEmail(string email)
37{
38 return !IsValidEmail(email);
39}
40