Kullandığımız form sayfalarında istediğimiz e-posta adresinin saçma sapan girilmesini engellemek mi istiyorsunuz?

Her zaman karşılaşırız. Türk milleti olarak karşımıza çıkan her form bileşenine “asdsadasd” şeklinde girmeye alışığızdır. Sebebini sosyologlara bırakarak ben kendimle alakalı kısmına geçiyorum.

İşte sizlere böyle bir durumda kullanıcının anlamsız bir e-posta adresi girmesini önlemek için yardımcı olacağım. Bilindiği gibi bir e-posta adresi “hesap@site.com” şeklindedir. İşte aşağıdaki fonksiyon; girilen metnin bu formatta olup olmadığını kontrol edip, bize true ve false döndürüyor. Bu işlemi Regular Axpressions (regexp) ya da Türkçe ifadesiyle Düzenli İfadeler ile gerçekleştiriyoruz.

function is_mail_valid($mail) {
	$regex = '/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/';
	return (preg_match($regex, $mail));
}

Hatırlatmak gerekirse bu fonksiyon e-posta adresinin kullanılıp kullanılmadığını değil formata uygun olup olmadığını kontrol ediyor.

Eğer gerçekte böyle bir e-posta adresinin olup olmadığını da merak ediyorsanız onun için de bir çözümümüz var. Bunun için hazır bir web servisi var.

http://www.webservicex.net/ValidateEmail.asmx?WSDL

Bu servise bağlanarak adresin gerçekten var olup olmadığını öğrenebilirsiniz. Aşağıda iki farklı dilde servisin kullanımına örnek veriyorum.

C#.Net

net.webservicex.www.ValidateEmail Servis = New MailKontrol.webservicex.ValidateEmail();
if (Servis.IsValidEmail("hesap@site.com") == true){
 MessageBox.Show("Doğru");
}else{
 MessageBox.Show("Yalnış");
}

VB.Net

Dim Servis As New net.webservicex.www.ValidateEmail
If Servis.IsValidEmail("hesap@site.com") = True Then
 MessageBox.Show("Doğru")
Else
 MessageBox.Show("Yalnış")
End If