myNotlar Logo

E-posta Geçerlilik Kontrolü


Internet Explorer Firefox Opera

Bu betik, ziyaretçinin/kullanıcının girdiği bir e-posta adresinin geçerlilik kontrolünün nasıl yapılacağını göstermektedir.

Bir e-posta (e-mail) adresinin yapısı RFC 2822 standartı ile tanımlanmıştır. RFC 2822 standartı geniş bir konu olduğu için üzerinde fazla durulmayıp genel olarak e-posta kuralları aşağıda kısaca özetlenmiştir. Bu konu hakkında daha fazla bilgiyi konu sonundaki kısayollardan bulabilirsiniz.

E-posta kuralları

  • Bir '@' işareti ile kullanıcı adı ve alan adı ayrılmalıdır.
  • Alan adı gösterimi kendi standartına uymalıdır. Kısaca:
    • 2 veya 3 harfli global uzantı içermelidir.
    • 2 harfli yerel uzantı içerebilir.
    • '.' (nokta) içermemelidir.
    • '-' ve '_' karakterlerini içerebilir.
  • Kullanıcı adı, '.' (nokta), '-' ve '_' karakterlerini içerebilir.
  • Kullanıcı adı ve alan adı boşluk karakterini içermemelidir.
  • '[', ']', '\' karakterlerini (ve diğer bir çok özel karakteri) içermemelidir.
  • Tüm harfler küçük harf olmalıdır.

Bu aşamada bu kuralları kontrol etmenin en kolay yolu JavaScript RegExp nesnesi ile bir düzenli ifade tanımlamaktır. Aşağıda düzenli ifadeler ile hazırlanmış ePostaKont isminde bir e-posta kontrol metodu gösterilmektedir. Bu metot kullanılarak, herhangi bir e-posta adresinin kontrolü yapılabilir.

ePostaKont metodu, parametre olarak aldığı e-posta adresinin geçerli olması durumunda true, diğer türlü false döndürür.

<script type="text/javascript">

function ePostaKont(eposta)
{
	var duzenli = new RegExp(/^[a-z]{1}[\d\w\.-]+@[\d\w-]{3,}\.[\w]{2,3}(\.\w{2})?$/);
	
	return duzenli.test(eposta);
}
</script>

Aşağıdaki örnek, ePostaKont metodu kullanılarak bir input:text elementine girilen e-posta adresini onkeyup olay tutucusu ile anlık olarak kontrolünü göstermektedir. Eğer kontrolün textbox çıkışında yapılması gerekiyorsa onBlur olay tutucusu kullanılabilir.

<script type="text/javascript">
function ePostaKont(eposta)
{
    var duzenli = new RegExp(/^[a-z]{1}[\d\w\.-]+@[\d\w-]{3,}\.[\w]{2,3}(\.\w{2})?$/);
    
    return duzenli.test(eposta);
}

function kontrol()
{
    var giris = document.getElementById('epGiris');
    
    if(ePostaKont(giris.value))
        giris.style.backgroundColor = "white";
    else
        giris.style.backgroundColor = "#F0D0D0";
}
</script>

<p><b>Lütfen bir e-posta adresi giriniz:</b></p>
<input type="text" id="epGiris" onKeyUp="kontrol()" style="width:200px;" />
Test Edin

Lütfen bir e-posta adresi giriniz:

E-posta ve e-posta adresleri ile ilgili bazı standartlar
StandartHTMLPDF
RFC 2822 (Internet Message Format) ietf.org faqs.org
RFC 4343 (DNS - Domain Name System) ietf.org faqs.org
RFC 2821 (SMTP - Simple Mail Transfer Protocol) ietf.org faqs.org
 
myNotlar Hakkında
Telif Hakkı © 2007-2009 mynotlar.com Tüm Hakları Saklıdır. Kopyalanamaz. Yayınlanamaz.
E-Posta : support@myNotlar.com

| Tek Kişilik Oyunlar | Sudoku | Oyunlar |