Tam Sürümünü Görmek İçin : E-Mail adresi kontrolü

ToLGMaN
14.02.2008, 16:57
E-Mail adresi kontrolü

Aşağıdaki fonksiyon'u kullanarak aldığınız form bilgilerinde veya istediğiniz herhangi bir yerdeki mail adresinin geçerli bir mail adresi olup olmadığının kontrolünü yapabilirsiniz.
Kontrol olarak 3 kontrol yapılıyor.
@ işaretinden önce herhangi bir isim veya @ işaretinden sonra herhangi bir domain ismi varmı kontrolü yapılıyor.Son olarak uzantı kontrolü yapılıyor.


Kullanımına örnek verecek olursak ;

<%
strMail = "serdar@asprehberi.net"
If Not denetle(strMail) Then
Response.Write "Lütfen geçerli bir email adresi yazınız"
Response.End
End If
%>


strMail yerine uzantısı olmayan veya ismi olmayan veya domain'i olmaz ise yazmış olduğunuz hatayı verecektir.Örnek kodumuzda gördüğünüz gibi If Not denetle(email) şeklinde kullandık.Bunun anlamında ise kontrol edilen mail adresi geçerli değil ise şartları uygulamaktır.

Fonksiyon aşağıdadır.





Function MailKontrol(email)
    Dim i,j, first, last, char
    i = InStr(1, email, "@" , vbtextcompare)
    If i > 0 and i < Len(email) Then
          first = Left(email, i - 1)
          last = Mid(email, i+1, Len(email))
    Else
          MailKontrol = false
          exit Function
    End If
    i = 0
    Do Until i = Len(first)
          i = i + 1
          char = Mid(first, i, 1)
          ' If char is not in [.z-aA-Z0-9]
          If Asc(char) <> 46 and Asc(char) <> 95 and (Asc(46) < 48 or Asc(char) > 57) and _
          (Asc(char) < 65 or Asc(char) > 90) and (Asc(char) < 97 or Asc(char) > 122) Then
              MailKontrol = false
              exit Function
          End If
    Loop
    i = 0
    nokta = false
    Do Until i = Len(last)
          i = i + 1
          char = Mid(last, i, 1)
          ' If char is not in [.z-aA-Z0-9]
          If Asc(char) <> 46 and (Asc(46) < 48 or Asc(char) > 57) and _
          (Asc(char) < 65 or Asc(char) > 90) and (Asc(char) < 97 or Asc(char) > 122) Then
              MailKontrol = false
              exit Function
          End If
    Loop
    nokta = false
    If InStr(1, last, "." , 1) > 0 Then
          nokta = true
    End If
    MailKontrol = nokta
End Function