Email Base Aggiornato: 21/08/2026

Email — validazione pratica

Regex pratica per verificare la forma sintattica di un indirizzo email comune nei form web, senza la complessità estrema di RFC 5322.

Risposta diretta

A cosa serve e come si usa questa regex?

Regex pratica per verificare la forma sintattica di un indirizzo email comune nei form web, senza la complessità estrema di RFC 5322.

Espressione Regolare (Pattern)

Flag consigliati: nessuno · Motori compatibili: JavaScript, PCRE/PHP, Python, Go, .NET
Testa
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$

Integrazione nel codice

Snippet pronti all'uso
// JavaScript (ES6+)
const regex = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/;
const isValid = regex.test(text);

// Estrazione match
const matches = text.match(regex);
<?php
// PHP 8.2+ (PCRE)
$pattern = '~^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$~';
$isValid = (bool) preg_match($pattern, $text);

// Estrazione con gruppi
if (preg_match($pattern, $text, $matches)) {
    print_r($matches);
}
# Python 3 (re)
import re

pattern = r"^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$"
is_valid = bool(re.search(pattern, text))

# Estrazione match
match = re.search(pattern, text)
if match:
    print(match.group(0))
// Go (regexp)
package main

import (
	"fmt"
	"regexp"
)

func main() {
	re := regexp.MustCompile(`^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$`)
	isValid := re.MatchString(text)
	fmt.Println(isValid)
}
// C# (.NET)
using System;
using System.Text.RegularExpressions;

bool isValid = Regex.IsMatch(text, @"^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$");

Come funziona (Spiegazione dettagliata)

  1. ^ e $ ancorano il controllo all’intera stringa dall’inizio alla fine.
  2. La parte locale ammette caratteri alfanumerici e i simboli ._%+-.
  3. @ divide obbligatoriamente il nome utente dal dominio.
  4. Il dominio accetta etichette separate da punti e trattini.
  5. L’estensione TLD finale richiede almeno due lettere (.it, .com, .org).

Casi d’uso consigliati

  • Form di contatto e registrazione utente
  • Pre-validazione client-side veloce
  • Sanity check prima dell’invio di email

Esempi che corrispondono (Validi)

4 test passati
utente@example.com
nome.cognome+tag@dominio.it
a_b-1@sub.example.org
info@studio-legale.eu

Esempi rifiutati (Non validi)

5 test respinti
utente@
@example.com
utente@example
utente name@example.com
utente@.com

Limiti tecnici e avvertenze

  • Controllo puramente sintattico: non garantisce che la casella di posta esista o sia attiva.
  • Per la sicurezza aziendale inviare sempre un’email con link di verifica o token.
Verifica empirica

Hai bisogno di collaudare questo pattern con i tuoi dati?

Apri il tester sandboxato con questa regex già caricata e verifica i gruppi di cattura.

Apri nel tester