PHP

Validate Email (RFC-aware)

admin by @admin ADMIN
5h ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Use PHP's built-in FILTER_VALIDATE_EMAIL with the FILTER_FLAG_EMAIL_UNICODE flag for IDN domains, plus a length sanity check. Trust this over hand-rolled regex.
PHP
Raw
<?php
function isValidEmail(string $email): bool {
    $email = trim($email);
    // RFC 5321 limits: local part 64 chars, total 254 chars.
    if (strlen($email) > 254) return false;

    $opts = defined('FILTER_FLAG_EMAIL_UNICODE')
        ? FILTER_FLAG_EMAIL_UNICODE
        : 0;
    return (bool)filter_var($email, FILTER_VALIDATE_EMAIL, $opts);
}

var_dump(isValidEmail('hello@example.com'));        // true
var_dump(isValidEmail('user+tag@sub.example.org')); // true
var_dump(isValidEmail('not-an-email'));             // false
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.