0
0
PhpHow-ToBeginner · 3 min read

How to Validate Email in PHP: Simple and Effective Method

To validate an email in PHP, use the filter_var function with the FILTER_VALIDATE_EMAIL filter. This checks if the email format is correct and returns the email if valid or false if invalid.
📐

Syntax

The basic syntax to validate an email in PHP uses the filter_var function with the FILTER_VALIDATE_EMAIL filter.

  • filter_var($email, FILTER_VALIDATE_EMAIL): Returns the email if valid, otherwise returns false.
php
$validEmail = filter_var($email, FILTER_VALIDATE_EMAIL);
💻

Example

This example shows how to check if an email is valid and print a message accordingly.

php
<?php
$email = "user@example.com";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "The email '$email' is valid.";
} else {
    echo "The email '$email' is not valid.";
}
?>
Output
The email 'user@example.com' is valid.
⚠️

Common Pitfalls

Common mistakes include trying to validate emails with regular expressions, which can be complex and error-prone. Also, filter_var only checks format, not if the email actually exists.

Always use filter_var for format validation and consider additional verification for real email existence.

php
<?php
// Wrong way: Using a simple regex that misses valid emails
$email = "user@example.com";
if (preg_match("/^[^@\s]+@[^@\s]+\.[^@\s]+$/", $email)) {
    echo "Valid email (regex).";
} else {
    echo "Invalid email (regex).";
}

// Right way: Using filter_var
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Valid email (filter_var).";
} else {
    echo "Invalid email (filter_var).";
}
?>
Output
Valid email (regex).Valid email (filter_var).
📊

Quick Reference

  • filter_var($email, FILTER_VALIDATE_EMAIL): Validates email format.
  • Returns the email string if valid, or false if invalid.
  • Does not check if the email address actually exists.
  • Use additional methods to verify email deliverability if needed.

Key Takeaways

Use filter_var with FILTER_VALIDATE_EMAIL to validate email format in PHP.
filter_var returns the email if valid, or false if invalid.
Avoid complex regex for email validation; filter_var is reliable and simple.
Email format validation does not guarantee the email address exists.
Combine format validation with other checks for full email verification.