cplusplus
cplusplus

 

Introduction

Email addresses are essential for communication in the digital world. However, ensuring that an email address is valid and properly formatted is critical before using it in any system. This program aims to validate whether a given email address conforms to a standard email format, such as “example@domain.com“. It checks for the presence of essential components like the “@” symbol, a domain name, and the dot separator in the domain part.

Objective

The objective of this program is to validate if a given string is a properly formatted email address. This ensures that the input follows the basic rules of email syntax and can be used effectively in email-related applications or systems.

Code Implementation


#include 
#include 
#include 
using namespace std;

// Function to validate email address using regular expression
bool isValidEmail(const string& email) {
    // Regular expression for email validation
    const regex emailPattern("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
    
    // Check if the email matches the pattern
    return regex_match(email, emailPattern);
}

int main() {
    string email;
    
    // Taking input from the user
    cout << "Enter an email address to validate: "; cin >> email;
    
    // Validate the email
    if (isValidEmail(email)) {
        cout << "The email address '" << email << "' is valid!" << endl;
    } else {
        cout << "The email address '" << email << "' is not valid." << endl;
    }

    return 0;
}
        

Explanation of the Program

This program uses the C++ Standard Library, specifically the regex class, to validate an email address. Here’s the breakdown:

  • Regex pattern: The regular expression ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ is designed to match a valid email structure. It checks that:
    • The username part can include alphanumeric characters, dots, underscores, percent signs, plus signs, and hyphens.
    • The “@” symbol separates the username and domain parts.
    • The domain part includes alphanumeric characters and dots.
    • The top-level domain (TLD) part must have at least two alphabetic characters.
  • Function isValidEmail(): This function checks if the input email matches the specified pattern using regex_match().
  • Main Function: It prompts the user to enter an email address, then calls isValidEmail() to validate the input. If the email is valid, a success message is displayed; otherwise, it shows an error.

How to Run the Program

To run this program:

  1. Ensure you have a C++ compiler (e.g., GCC, Clang) installed on your system.
  2. Copy the code into a text editor and save the file with a .cpp extension (e.g., validate_email.cpp).
  3. Open a terminal or command prompt and navigate to the directory containing the file.
  4. Compile the program using a command like g++ -o validate_email validate_email.cpp.
  5. Run the compiled program using ./validate_email (on Linux/macOS) or validate_email.exe (on Windows).
© 2024 Learn Programming. All rights reserved.

 

By Aditya Bhuyan

I work as a cloud specialist. In addition to being an architect and SRE specialist, I work as a cloud engineer and developer. I have assisted my clients in converting their antiquated programmes into contemporary microservices that operate on various cloud computing platforms such as AWS, GCP, Azure, or VMware Tanzu, as well as orchestration systems such as Docker Swarm or Kubernetes. For over twenty years, I have been employed in the IT sector as a Java developer, J2EE architect, scrum master, and instructor. I write about Cloud Native and Cloud often. Bangalore, India is where my family and I call home. I maintain my physical and mental fitness by doing a lot of yoga and meditation.

Leave a Reply

Your email address will not be published. Required fields are marked *

error

Enjoy this blog? Please spread the word :)