Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Ověření syntaktické správnosti emailové adresy |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 10.1.2003
| Publikováno: 10.1.2003
| Čtenářů: 4543
| Unikátních: 4446
|
Druhá verze funkce pro ověření správnosti zadáné e-mailové adresy, tato verze ověřuje také znaky obsažené v adrese.
Při registracích a dalších příležitostech po svých uživatelích
vyžadujete zadání e-mailové adresy. Jenomže otestovat, zda
zadaná adresa je syntakticky platná, není zase tak jednoduché.
Funkce, která otestuje syntaktickou správnost, je zde:
Function IsEmail(ByVal Text) As Boolean
Dim I
IsEmail = False
Text = LCase(Text)
For I = 1 To Len(Text)
If InStr("abcdefghijklmnopqrstuvwxyz0123456789@.-_", _
Mid(Text, I, 1)) = 0 Then Exit Function
Next
If Len(Text) < 6 Then Exit Function
If InStr(Text, "@") <> InStrRev(Text, "@") Then Exit Function
If InStr(Text, "@") < 2 Or InStr(Text, "@") > Len(Text) - 4 _
Then Exit Function
If InStrRev(Text, ".") < InStr(Text, "@") _
Then Exit Function
If Len(Text) - InStrRev(Text, ".") < 2 Or _
Len(Text) - InStrRev(Text, ".") > 4 _
Then Exit Function
IsEmail = True
End Function
E-mailová adresa má tvar [uživatel]@[počítač].[doména].[tld],
přičemž část počítač bývá zpravidla vynechávána.
Funkce postupuje následovně:
1. Zjistí, zda se v adrese vyskytují jenom povolené znaky
(a-z, 0-9, pomlčka, podtržítko, zavináč a tečka).
2. Zjistí, zda má adresa nejméně šest znaku
(nejkratší syntakticky správná e-mailová adresa je x@x.xx)
3.Zjistí, zda se v adrese nachází právě jeden zavináč.
4. Zjistí, zda se zavináč nenachází na začátku a nebo na konci adresy.
5. Zjistí, zda poslední tečka v adrese je za zavináčem.
6. Zjistí, zda část je dlouhá 2 nebo 3 znaky
(až budou konečně zavedeny další generické TLD, jako například .firm, .exe atd.
bude nutno funkci poněkud upravit)
7. Teprve pokud adresa úspěšně projde všemi těmito testy, je
prohlášena za platnou (funkce vrátí True), jinak je vráceno False.
|