How can I validate an Email in PHP?

admin_img Posted By Bajarangi soft , Posted On 03-12-2020

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.

email validate in php

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."; 


?> 
 

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@company.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"); 


?> 

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"); 


?> 

 

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.

Related Post