Ghid Complet de Validare: Șabloane Robuste pentru Email (RFC 5322), URL-uri și Numere Internaționale în Expresii Regulare (RegEx)

Colecție completă de șabloane RegEx de producție: validarea pragmatică a adreselor de email, URL-uri complexe, numere de telefon internaționale (E.164) și formate românești (CNP, IBAN).

Tipar RegEx
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

În dezvoltarea practică de formulare web, API-uri și sisteme de autentificare, scrierea expresiilor regulate de validare de la zero duce adesea fie la șabloane mult prea permisive (care acceptă date eronate), fie la șabloane mult prea restrictive (care resping utilizatori legitimi). Acest ghid oferă cele mai verificate și robuste șabloane de producție, optimizate pentru performanță și securitate.

1. Șablonul Pragmatic de Producție pentru Adrese de Email
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

// De ce este aceasta cea mai bună alegere?
// Standardul complet RFC 5322 are peste 6000 de caractere și permite adrese bizare
// (cum ar fi adrese cu ghilimele sau paranteze: "ion popescu"@exemplu.ro).
// În producție, șablonul de mai sus acoperă 99.99% din utilizatorii reali,
// validând existența utilizatorului, a simbolului @, a domeniului și a extensiei TLD de minim 2 litere.
// Notă: Singura modalitate de a garanta 100% existența unei adrese este trimiterea unui email de confirmare!

2. Validarea URL-urilor Web Complexe (HTTP / HTTPS)

Șablon complet pentru validarea adreselor web, incluzând protocolul opțional, domeniul, portul, calea și parametrii de interogare (query string):

Expresie regulată pentru URL-uri web
^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{2,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&//=]*)$

// Exemple valide testate:
// https://www.dexblog.ro
// http://api.exemplu.ro:8080/v1/comenzi?status=activ&sort=desc#sectiune

3. Validarea Numerelor de Telefon (Internațional E.164 și România)

Format Căutat Șablon RegEx Recomandat Exemple Valide
Internațional Standard E.164 ^\+[1-9]\d{1,14}$ +40722123456, +14155552671
Telefon Mobil România
(Format național sau internațional)
^(?:(?:\+?4)?07\d{8})$ 0722123456, +40722123456, 40722123456

4. Formate Specifice din România: CNP și IBAN

Validarea CNP-ului și a IBAN-ului bancar românesc
# 1. CNP Românesc (Cod Numeric Personal - 13 cifre structurate):
# Cifra 1: Sex și secol (1-2 pt 1900-1999, 5-6 pt 2000-2099)
# Cifrele 2-7: Data nașterii (AALLZZ)
# Cifrele 8-9: Județul (01-52)
# Cifrele 10-12: Număr secvențial
# Cifra 13: Cifră de control
^[1-8]\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])(?:0[1-9]|[1-4]\d|5[1-2])\d{4}$

# 2. IBAN Românesc (exact 24 de caractere: 'RO', 2 cifre, 4 litere bancă, 16 alfanumerice):
^RO\d{2}[A-Z]{4}[A-Z0-9]{16}$
# Exemplu valid: RO49BTRL00001234567890XX
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Ghid Complet de Validare: Șabloane Robuste pentru Email (RFC 5322), URL-uri și Numere Internaționale

Ai o nelămurire despre utilizarea comenzii Ghid Complet de Validare: Șabloane Robuste pentru Email (RFC 5322), URL-uri și Numere Internaționale sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.