Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Rețetă RegEx: Validare Email și URL în Expresii Regulare (RegEx)

Expresii regulare practice și sigure pentru validarea și extragerea adreselor de email și a linkurilor HTTP/HTTPS.

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

Ce face Rețetă RegEx: Validare Email și URL

Validarea adreselor de email și a URL-urilor este cel mai des întâlnit caz de utilizare pentru expresiile regulare în dezvoltarea web. În practică, nu încerca să copiezi expresii kilometrice de 6.000 de caractere care încearcă să implementeze întregul standard RFC 5322 (care permite comentarii și adrese IP între paranteze pătrate), ci folosește o expresie pragmatică, rapidă și imună la ReDoS (Regular Expression Denial of Service).

În PHP pe backend, pentru validarea strictă a unui email sau URL poți combina sau înlocui RegEx-ul cu filter_var($email, FILTER_VALIDATE_EMAIL), însă expresiile de mai jos sunt indispensabile în JavaScript (validare instantanee în formular), în baze de date sau atunci când vrei să extragi toate emailurile/linkurile dintr-un text mai lung.

Variante și sintaxă asociată

Expresie / Simbol Descriere
[a-zA-Z0-9._%+-]+ Partea locală a emailului (înainte de @): acceptă litere, cifre, punct, plus (subaddressing) și cratimă.
@[a-zA-Z0-9.-]+ Simbolul @ urmat de numele domeniului și eventuale subdomenii.
\.[a-zA-Z]{2,} Punct literal urmat de extensia TLD de minim 2 litere (.ro, .com, .museum, .tech).
https?:// Protocolul URL obligatoriu (http:// sau https://).
[^\s/$.?#].[^\s]* Restul URL-ului fără spații albe, potrivit pentru extragerea linkurilor din text.

Exemple

Exemplul 1: Validarea unei adrese de email (ancorată cu ^ și $)

Acceptă adrese standard și alias-uri cu + (ex. nume+newsletter@domeniu.ro) și respinge spațiile sau lipsa TLD-ului.

Expresie validare: /^[a-zA-Z0-9._%+-]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/

Teste:
  "contact@dexblog.ro"           -> VALID
  "ion.popescu+shop@firma.co.uk" -> VALID
  "utilizator@domeniu"           -> INVALID (lipsește extensia .ro/.com)
  "nume..dublu@@test.ro"         -> INVALID (două simboluri @)

Potriviri găsite (Matches)

Potrivește doar adresele complet valide de la începutul până la sfârșitul șirului.
Pentru a EXTRAGE emailuri dintr-un text, elimină ^ și $ și adaugă flag-ul g:
/[a-zA-Z0-9._%+-]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}/g

Exemplul 2: Validarea și extragerea URL-urilor HTTP / HTTPS cu port, cale și query string

Expresia verifică protocolul, domeniul, portul opțional și calea, capturând domeniul în grupul 1.

Expresie validare URL:
/^https?:\/\/(?:www\.)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?::\d{1,5})?(?:\/[^\s]*)?$/i

Expresie transformare linkuri în <a> (auto-link în text):
$html = preg_replace(
    '~\b(https?://[^\s<>"\']+[^\s<>"\'.,;!?])~i',
    '<a href="$1">$1</a>',
    $text
);

Potriviri găsite (Matches)

Input:  "Vizitează https://www.dexblog.ro/invata/regex/ pentru detalii."
Output: "Vizitează <a href="https://www.dexblog.ro/invata/regex/">https://www.dexblog.ro/invata/regex/</a> pentru detalii."

Greșeli frecvente

  • Omisiunea semnului + din clasa părții locale a emailului ([a-zA-Z0-9._-] în loc de [a-zA-Z0-9._%+-]): respingerea semnului + blochează utilizatorii de Gmail/Outlook care folosesc adrese de tip nume+site@gmail.com.
  • Limitarea TLD-ului la 2–4 litere (\.[a-z]{2,4}$): extensiile moderne precum .online, .digital, .studio sau .ro.com au mai mult de 4 caractere. Folosește {2,63} sau {2,}.

Simboluri și rețete înrudite

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Rețetă RegEx: Validare Email și URL

Ai o nelămurire despre utilizarea comenzii Rețetă RegEx: Validare Email și URL 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.