A cosa serve e come si usa questa regex?
Controlla la forma di un dominio utilizzabile nella parte destra di un indirizzo email, senza includere il simbolo @.
Espressione Regolare (Pattern)
Flag consigliati:
nessuno · Motori compatibili: JavaScript, PCRE/PHP, Python, Go, .NET
^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$
Integrazione nel codice
Snippet pronti all'uso// JavaScript (ES6+)
const regex = /^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$/;
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-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$~';
$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-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$"
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-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$`)
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-]{0,61}[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)+$");
Come funziona (Spiegazione dettagliata)
- Ogni etichetta del dominio inizia e termina con un carattere alfanumerico.
- I trattini sono ammessi solo all’interno delle etichette.
- Il dominio deve contenere almeno un punto e una seconda etichetta.
Casi d’uso consigliati
- Campi separati per dominio e nome utente
- Normalizzazione di configurazioni email
- Pre-validazione di domini aziendali
Esempi che corrispondono (Validi)
3 test passatiexample.com
mail.azienda.it
sub-dominio.example.org
Esempi rifiutati (Non validi)
4 test respintiexample
-example.com
example-.com
example..com
Limiti tecnici e avvertenze
- Non verifica che il dominio esista o disponga di record MX.
Espressioni regolari correlate
Base
Email con dominio specifico
Verifica che un indirizzo email appartenga obbligatoriamente a un dominio o a suoi sottodomini autorizzati.
Vedi scheda
Base
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.
Vedi scheda
Intermedio
Email conforme RFC 5322 (Standard)
Pattern raccomandato dagli standard W3C/HTML5 per il tag input type="email", coprendo caratteri speciali consentiti nella parte locale.
Vedi scheda
Verifica empirica
Apri nel tester
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.