PHP ile E-posta Doğrulama


Düzenli ifadeler kullanarak yapabileceğimiz yani RegEx kullanarak yapabileceğimiz birşeyi söyleyeyim. E-mail dogrulama işlemini. İletişim sayfasından sorulmuş bende bununla ilgili yazayım dedim.

@ornek şeklinde doğrulanacak diyelim. Gerçek e-posta adresleri oldugunu anlamamız gerekiyor. Bunun için ilk çözüm @ olabilir. Ama ardından gelen ornek @ localhost ya da ‘t @ şeklinde bir adres olabilir. Ama bu spam’a yol açabilir. Noktalama işaretleri kullanılamıyor çünkü. Örnekle gösterecek olursak

Gereksinimler

PHP 5.2.0 veya daha yüksek bir sürüm. Ayrıca ek olarak filter_var fonksiyonu da gereklidir.

Filter_var kullanma ve etki alanı kontrol bölümü .(nokta) içerir.

Şimdi test edeceğimiz kodu kolaylıkla yapmak için bir fonksiyon içine koyduk. İsterseniz fonksiyonumuza bakalım.

function emailOnayla($adres) {
return filter_var($adres, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $adres);
}

filter_var etki alanı yani ornek.com bölümüde dahil olmak üzere tüm e-posta adresinin kontrolünü sağlar. Düzenli ifade @ sembolünden sonra bakar etki alanı yani domain kontrolünü yapar.

Örnekler

Eğer geçerli ise 1, değilse 0 durumunu görüyoruz. Bu örneklerde sonuçları göreceğiz. Yorum satırı olarak

echo (int) emailOnayla('ali@ornek'); // 0
echo (int) emailOnayla('chris@ornek.'); // 0
echo (int) emailOnayla('ali@ornek.com'); // 1
echo (int) emailOnayla('ali@ornek.com.'); // 0
echo (int) emailOnayla('ali@ornek@ornek.com'); // 0
echo (int) emailOnayla('ali#ornek.com'); // 0
echo (int) emailOnayla('ali@benim.ornegim.sitem.com'); // 1

Anlatım bukadardır arkadaşlar 🙂

Yorum bırakın