Regex Tester

E-posta Regex Deseni: E-posta Adreslerini Doğrulama

Test senaryoları ile e-posta doğrulama için regex deseni. RFC 5322 uyumluluğu, yaygın tuzaklar ve regex'in tek başına neden yeterli olmadığını kapsar.

Verileriniz tarayıcınızdan çıkmaz.

//gm
4 eşleşme
user@example.com alice.chen@company.co.uk bob+tag@gmail.com invalid@ @missing-local.com no-at-sign.com user@.com test@sub.domain.example.org
Eşleşme Detayları

İlgili Araçlar

E-posta Regex Deseni

Yukarıdaki desen, gerçek dünyadaki e-posta adreslerinin büyük çoğunluğuyla eşleşir. Alfanumerik ve ._%+- karakterlerini kullanan boş olmayan bir yerel bölüm, ardından @, en az bir nokta içeren bir alan ve iki veya daha fazla harften oluşan bir TLD gerektirir. Eşleşen satırlar: user@example.com, alice.chen@company.co.uk, bob+tag@gmail.com. Eşleşmeyen satırlar: invalid@, @missing-local.com, no-at-sign.com, user@.com.

Desen Ayrıştırması

BölümDesenEşleştiği şey
Başlangıç bağlacı^Her satırın başı (m bayrağı ile)
Yerel bölüm[a-zA-Z0-9._%+\-]+Harfler, rakamlar ve ._%+-, bir veya daha fazla
İşareti@Değişmez @
Alan etiketleri[a-zA-Z0-9.\-]+Nokta ve tirelere izin veren alan adı
TLD öncesi nokta\.Değişmez nokta
TLD[a-zA-Z]{2,}İki veya daha fazla harf
Bitiş bağlacı$Her satırın sonu (m bayrağı ile)

E-posta Regex’inde Yaygın Hatalar

Yerel bölümde + işaretine izin vermemek en sık karşılaşılan sorundur. Gmail ve diğer birçok sağlayıcı, user+tag@gmail.com adresini user@gmail.com ile aynı gelen kutusuna yönlendirir.

Çok seviyeli TLD’lere izin vermemek ikinci en yaygın hatadır. \.[a-zA-Z]{2,3} ile biten bir desen, alice@company.co.uk adresini reddeder çünkü .co’yu TLD olarak görür.

Deseni ^ ve $ ile bağlamamak, bu bir e-posta değil ama içinde bir tane var@example.com gibi bir stringin gömülü parçayı eşleştirmesi anlamına gelir.

HTML5 E-posta Deseni

Tarayıcılar <input type="email"> öğesine kendi desenlerini uygular.

Regex’in Size Söyleyemeyeceği Şeyler

Bir regex, adresin e-postaya benzediğini onaylayabilir. Ancak alanın çalışan MX kayıtları olup olmadığını, posta kutusunun var olup olmadığını veya kullanıcının adresi kontrol edip etmediğini söyleyemez. Gerçek bir e-posta adresine bağlı her akış için standart yaklaşım:

  1. Temel format kontrolü uygulayın (regex veya type="email")
  2. Zaman sınırlı token ile bir onay e-postası gönderin
  3. Adresi yalnızca kullanıcı bağlantıya tıkladığında doğrulanmış olarak kabul edin