Open In App

How to validate an Email using PHP?

Improve
Improve
Like Article
Like
Save
Share
Report

This article contains different methods to validate an email address in PHP. It uses regular expressions and inbuilt email validation function. The input string is taken from the user and matches it with the predefined regular expressions and if the regular expression and input string found to be matched than it returns true and proceed further.

Method 1: Email validation using regular expression.




<?php
// PHP program to validate email
  
// Function to validate email using regular expression
function email_validation($str) {
    return (!preg_match(
"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^", $str))
        ? FALSE : TRUE;
}
  
// Function call
if(!email_validation("author@geeksforgeeks.com")) {
    echo "Invalid email address.";
}
else {
    echo "Valid email address.";
}
  
?>


Output:

Valid email address.

Explanation: In the above example, passing the email to the user defined function email_validation( $email ), which use this example and matches with the regular expression by using the predefined function preg_match(). This predefined function match the whole input with regular expression and returns True if match found otherwise returns False.

Method 2: Email validation using filter_var() method.




<?php
  
// Declare variable and initialize
// it to email
$email = "author@geeksforgeeks.com";
  
// Validate email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("$email is a valid email address");
else {
    echo("$email is not a valid email address");
}
  
?>


Output:

author@geeksforgeeks.com is a valid email address

Explanation: In the above example, passing the input email address to the predefined function filter_var(), which takes two parameters as input email and second is type of email filter. This function filters the email and returns true or false.

Method 3: Email validation using FILTER_SANITIZE_EMAIL filter.




<?php
  
// Declare variable and store it to email
$email = "author.gfg@GeeksforGeeks.com";
  
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
  
// Validate Email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("$email is a valid email address");
else {
    echo("$email is not a valid email address");
}
  
?> 


Output:

author.gfg@GeeksforGeeks.com is a valid email address

Explanation: In the above example, use FILTER_SANITIZE_EMAIL filter to remove all unsupported characters and then use FILTER_VALIDATE_EMAIL filter to validate email.



Last Updated : 13 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads