E-M@il Validator 1.6. Voledig met commentaar.
Code: Selecteer alles
Titel = "Email Validator © Jori Koolstra"
EmailValidate
'Vanuit de Sub EmailValidate wordt het E-M@il adres gevalideerd.
'Variabelen hoeven niet gedimt of geredimt te worden.
Sub EmailValidate
Do Until EmailOK = True
Email = InputBox ("Wat is uw E-M@il adres?" & Vbcrlf & Vbcrlf & "Mogen er zich bugs voordoen, meld dat dan alstublieft op www.jori-koolstra.nl/contact.html of stuur een E-Mail naar lolzy@live.nl.",Titel,"Voer hier uw E-M@il adres in.")
'Met de variabel Email wordt de rest van het script gewerkt als E-Mail adres.
Trim(Email)
'Verwijderen van eventuele spaties.
Grote = Len(Email)
posAap=InStr(Email,"@")
ValChar1=InStr(Email,"!")
ValChar2=InStr(Email,"#")
ValChar3=InStr(Email,"$")
ValChar4=InStr(Email,"%")
ValChar5=InStr(Email,"€")
ValChar6=InStr(Email,"^")
ValChar7=InStr(Email,"&")
ValChar8=InStr(Email,chr(34))
ValChar9=InStr(Email,"*")
ValChar10=InStr(Email,"=")
ValChar11=InStr(Email,"<")
ValChar12=InStr(Email,">")
ValChar13=InStr(Email,"{")
ValChar14=InStr(Email,"}")
ValChar15=InStr(Email,"|")
ValChar16=InStr(Email,"`")
ValChar17=InStr(Email,"~")
ValChar18=InStr(Email,"©")
ValChar19=InStr(Email,"®")
ValChar20=InStr(Email,"¶")
ValChar21=InStr(Email,"´")
'Kijken of Email ongeldige tekens bevat (Zoals !, #, % etc.)
If (ValChar1 => 1) Or (ValChar2 => 1) Or (ValChar3 => 1) Or (ValChar4 => 1) Or (ValChar5 => 1) Or (ValChar6 => 1) Or (ValChar7 => 1) Or (ValChar8 => 1) Or (ValChar9 => 1) Or (ValChar10 => 1) Or (ValChar11 => 1) Or (ValChar12 => 1) Or (ValChar13 => 1) Or (ValChar14 => 1) Or (ValChar15 => 1) Or (ValChar16 => 1) Or (ValChar17 => 1) Or (ValChar18 => 1) Or (ValChar19 => 1) Or (ValChar20 => 1) Or (ValChar21 => 1) Then
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
If ((posAap = 1) = True) Then
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
'Kijken of er in de input van EMail een @ zit, die minstens 1 teken van de rand staat.
If Grote = 0 Then
MsgBox "U moet wel wat invullen!",16 + 4096,titel + " Error"
EmailValidate
End If
'Kijken of er überhaupt wel iets is ingevuld.
If ((posAap = 1) = True) Then
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
posPunt=InStr(Email,".")
'Kijken of er in de input van EMail een . zit.
If posPunt = 0 Then
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
NewStr = Mid(Email,posAap,Grote)
'Tekst filteren voor de @ in de string NewStr
posPuntNaAap = InStr(NewStr,".")
If posPuntNaAap = 0 Then
'Kijken of er achter de @ een . staat.
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
posAap2 = InStr(NewStr,"@")
NewStr2 = Mid(NewStr,posAap2,posPuntNaAap)
NewStr2Length = Len(NewStr2)
'Kijken of er tekst staat tussen de punt achter de apenstaart en de apenstaart.
If NewStr2Length =< 2 Then
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
HulpLen = Len(NewStr)
NewStr3 = Mid(NewStr,posPuntNaAap,HulpLen)
If (InStr(NewStr3,"nl") = 0) And (InStr(NewStr3,"com") = 0) And (InStr(NewStr3,"be") = 0) And (InStr(NewStr3,"net") = 0) Then
'Kijken of er achter de @ iets staat als nl, be, com, net.
'Kan worden aangepast voor meer verschillende landen.
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
'Voorkomen dat er meer code wordt meegesluist na de .nl/.com/.net etc.
If Len(NewStr3) => 5 Then
MsgBox "*" & Email & "* is geen geldig E-M@il adres. Voer alstublieft uw echte E-M@il in!",16 + 4096,Titel + " - Error"
EmailValidate
End If
EmailOK = True
'Als *EMail* door alle validatie heen is dan return *true*
Loop
MsgBox "Het Email adres *" &Email& "* is goedgekeurd!","32",Titel
Wscript.Quit
End Sub