Regex for Email Address

Standard regular expression for validating email addresses per RFC 5322, matching username, at-symbol, domain name, and valid TLD extension.

/

⚡ Live Interactive Sandbox

Validation Result: MATCH ✓

Pattern Breakdown & Tokens

  • • ^[a-zA-Z0-9._%+-]+ — mailbox name matching letters, digits, dots, plus and hyphens
  • • @ — mandatory at-symbol delimiter
  • • [a-zA-Z0-9.-]+ — domain host label
  • • \.[a-zA-Z]{2,}$ — top-level domain extension (minimum 2 letters)

Code Snippets

JavaScript
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const isValid = emailRegex.test(email);
Python
import re
pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
is_valid = bool(re.match(pattern, email))
Go (Golang)
matched, err := regexp.MatchString(`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`, email)
PHP
$isValid = preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email);

Open the full tool: Open Full Regex Tester →

FAQ

How does this regular expression for Email Address work?

Standard regular expression for validating email addresses per RFC 5322, matching username, at-symbol, domain name, and valid TLD extension. The pattern is: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

How to use this regex in JavaScript and Python?

In JavaScript: new RegExp("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").test(input). In Python: re.match(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$", input).

Can I test complex regular expressions online?

Yes, use our full in-browser Regex Tester tool with live syntax highlighting, group capture table, and zero server uploads.

🔗 Share this page

TelegramWhatsAppX