C#에서 이메일 주소를 확인하는 방법에는 여러 가지가 있습니다.
System.Net.Mail −System.Net.Mail 네임스페이스에는 배달을 위해 SMTP(Simple Mail Transfer Protocol) 서버로 전자 메일을 보내는 데 사용되는 클래스가 포함되어 있습니다.
System.Text.RegularExpressions - 변경할 수 없는 정규식을 나타냅니다.
아래 표현 사용
@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([azA-Z]{2,4}|[0-9]{1,3})(\]?)$"
MailAddress를 사용할 수 있습니다. 이메일 주소를 검증하기 위한 System.Net.Mail 네임스페이스의 클래스
예시
using System; using System.Net.Mail; namespace DemoApplication{ class Program{ public static void Main(){ try{ string email = "hello@xyzcom"; Console.WriteLine($"The email is {email}"); var mail = new MailAddress(email); bool isValidEmail = mail.Host.Contains("."); if(!isValidEmail){ Console.WriteLine($"The email is invalid"); } else { Console.WriteLine($"The email is valid"); } Console.ReadLine(); } catch(Exception){ Console.WriteLine($"The email is invalid"); Console.ReadLine(); } } } }
출력
위 코드의 출력은
The email is hello@xyzcom The email is invalid
정규식 사용 예 -
정규 표현식을 사용하여 이메일 주소를 확인할 수도 있습니다.
예시
using System; using System.Text.RegularExpressions; namespace DemoApplication{ public class Program{ public static void Main(){ string email = "[email protected]"; Regex regex = new Regex(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0- 9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", RegexOptions.CultureInvariant | RegexOptions.Singleline); Console.WriteLine($"The email is {email}"); bool isValidEmail = regex.IsMatch(email); if (!isValidEmail){ Console.WriteLine($"The email is invalid"); } else { Console.WriteLine($"The email is valid"); } Console.ReadLine(); } } }
출력
위 코드의 출력은
The email is [email protected] The email is valid