A cosa serve e come si usa questa regex?
Riconosce numeri di telefono fissi e mobili italiani con prefisso internazionale +39 o 0039 facoltativo e formattazione con spazi o trattini.
Espressione Regolare (Pattern)
Flag consigliati:
nessuno · Motori compatibili: JavaScript, PCRE/PHP, Python, Go, .NET
^(?:(?:\+|00)39[\s.-]?)?(?:0\d{1,3}|3\d{2})[\s.-]?\d{6,8}$
Integrazione nel codice
Snippet pronti all'uso// JavaScript (ES6+)
const regex = /^(?:(?:\+|00)39[\s.-]?)?(?:0\d{1,3}|3\d{2})[\s.-]?\d{6,8}$/;
const isValid = regex.test(text);
// Estrazione match
const matches = text.match(regex);
<?php
// PHP 8.2+ (PCRE)
$pattern = '~^(?:(?:\+|00)39[\s.-]?)?(?:0\d{1,3}|3\d{2})[\s.-]?\d{6,8}$~';
$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"^(?:(?:\+|00)39[\s.-]?)?(?:0\d{1,3}|3\d{2})[\s.-]?\d{6,8}$"
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(`^(?:(?:\+|00)39[\s.-]?)?(?:0\d{1,3}|3\d{2})[\s.-]?\d{6,8}$`)
isValid := re.MatchString(text)
fmt.Println(isValid)
}
// C# (.NET)
using System;
using System.Text.RegularExpressions;
bool isValid = Regex.IsMatch(text, @"^(?:(?:\+|00)39[\s.-]?)?(?:0\d{1,3}|3\d{2})[\s.-]?\d{6,8}$");
Come funziona (Spiegazione dettagliata)
(?:(?:\+|00)39[\s.-]?)?rende facoltativo il prefisso internazionale italiano+39o0039.(?:0\d{1,3}|3\d{2})ammette sia prefissi fissi (che iniziano con0) che prefissi cellulari (che iniziano con3).\d{6,8}ammette il numero locale composto da 6 a 8 cifre.
Casi d’uso consigliati
- Form di contatto e richiesta informazioni
- Registrazione utente con invio codice OTP SMS
- Sistemi CRM e rubriche aziendali
Esempi che corrispondono (Validi)
5 test passati+39 333 1234567
3331234567
06 12345678
+390212345678
051-1234567
Esempi rifiutati (Non validi)
4 test respinti+1 202 555 0100
1234
testo-telefono
443331234567
Limiti tecnici e avvertenze
- Prima di salvare sul database o passare il numero a un provider SMS, si raccomanda di ripulire la stringa da spazi e trattini e normalizzarla in formato E.164 (
+393331234567).
Espressioni regolari correlate
Base
Codice Fiscale italiano — controllo formale
Verifica la struttura alfanumerica di 16 caratteri del Codice Fiscale per persone fisiche italiane.
Vedi scheda
Base
Partita IVA italiana
Verifica che il codice di Partita IVA italiana sia composto esattamente da 11 cifre numeriche.
Vedi scheda
Base
CAP italiano (Codice di Avviamento Postale)
Valida il Codice di Avviamento Postale italiano formato esattamente da 5 cifre numeriche.
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.