C# Program to Validate Email Address

C# Program to Validate Email Address

This is a simple C# .NET Program to validate email address. The ValildateEmail() function checks for a valid email and returns true if the email address is a valid email otherwise it returns false if the email address is not proper syntax. The code is well commented and should explain what is happening .

This code uses regular expressions to validate the structure of the email address and checks for the presence of “@” and “.” characters. Additionally, it has a separate function ContainsIllegalCharacters to check for the presence of any illegal characters in the email address.

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string email = "user@example.com";
        bool isValid = ValidateEmail(email);

        if (isValid)
        {
            Console.WriteLine("Email is valid.");
        }
        else
        {
            Console.WriteLine("Email is invalid.");
        }
    }

    static bool ValidateEmail(string email)
    {
        // Define the regular expression pattern for a valid email address
        string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";

        // Check if the email matches the pattern
        if (Regex.IsMatch(email, pattern))
        {
            // Check for illegal characters
            if (ContainsIllegalCharacters(email))
            {
                return false;
            }

            return true;
        }

        return false;
    }

    static bool ContainsIllegalCharacters(string input)
    {
        // Define a pattern for acceptable characters in the email
        string acceptablePattern = @"^[a-zA-Z0-9._%+-@]+$";

        // Check if the input contains any illegal characters
        return !Regex.IsMatch(input, acceptablePattern);
    }
}
M. Saqib: Saqib is Master-level Senior Software Engineer with over 14 years of experience in designing and developing large-scale software and web applications. He has more than eight years experience of leading software development teams. Saqib provides consultancy to develop software systems and web services for Fortune 500 companies. He has hands-on experience in C/C++ Java, JavaScript, PHP and .NET Technologies. Saqib owns and write contents on mycplus.com since 2004.
Related Post