Avatar billede asker Nybegynder
24. februar 2003 - 12:26 Der er 1 kommentar og
1 løsning

Validator

Hej Alle

Jeg har den her kode (og den virker perfekt)

<%

Dim eAddy
eAddy = Request.Form("eaddy")
response.write( eAddy )

if eAddy = "" then
response.write("<center><font color='#FF0000'>Du har ikke udfyld din email addresse.</font></center>")

else



If InStr(1,eAddy,"@",vbTextCompare) = 0 then

response.write(" <center><font color='#FF0000'>er ikke en lovlig Email addresse.</font></center>")

else

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("SpawnedMailer.mdb"))

set rsMail = Server.CreateObject("ADODB.recordset")
rsMail.Open "SELECT * FROM MailingList WHERE MailingAddy='" & eAddy & "'", conn

    If not rsMail.EOF Then
        If rsMail("MailingAddy") = eAddy Then

            response.write("  <center><font color='#FF0000'>er allerede tilmeldt nyhedsbrevet.</font></center>")

        End if

    Else


            mailSQL = "INSERT into MailingList (MailingAddy) VALUES ('" & eAddy & "');"
            conn.Execute mailSQL
            response.write(" er tilføjet nyhedsbrevet!")
    End if


rsMail.close
conn.close
end if
end if
%>

******************************************

Men jeg vil gerne tjekke på nogle flere værdier
Så jeg skal have putte den her kode ind i den øverste (og få det til at virk.

Samt have en som også tjekker æøå

Her er koden:

***************************************************


' (4) Anything in front of the @ ? '--------------------------------------------------------
    If Len(Left(eAddy,InStr(eAddy,"@") - 1)) = 0 Then
    response.write(" <center><font color='#FF0000'>Der mangler noget foran ""@"" i e-mail adressen.</font></center>")

    ' (5) At least one "." (period) '-----------------------------------------------------------
    If InStr(eAddy,".") = 0 Then
    response.write(" <center><font color='#FF0000'>E-mail adressen skal indeholde mindst eet punktum.</font></center>")

    ' (6) Max. 3 characters after the last "." '------------------------------------------------
    If (Len(eAddy) - InStrRev(eAddy,".") > 3) Then
    response.write(" <center><font color='#FF0000'>Der er for mange tegn efter sidste punktum i e-mail adressen..</font></center>")

    ' (7) Check for ".." '----------------------------------------------------------------------
    If InStr(eAddy,"..") <> 0 Then
    response.write(" <center><font color='#FF0000'>Der m&aring; ikke v&aelig;re to punktummer lige op af hinanden i e-mail adressen.</font></center>")

    ' (8) At least 2 charecters after the last "." '--------------------------------------------
    If (Len(eAddy) - InStrRev(eAddy,".") < 2) Then
    response.write(" <center><font color='#FF0000'>Der skal v&aelig;re mindst to tegn efter sidste punktum i e-mail adressen.</font></center>")

    ' (9) No "_" after "@" '--------------------------------------------------------------------
    If ((InStr(eAddy,"_") <> 0) AND (InStrRev(eAddy,"_") > InStrRev(eAddy,"@"))) Then
    response.write(" <center><font color='#FF0000'>Der m&aring; ikke v&aelig;re en underscore (_) efter ""@"" i e-mail adressen..</font></center>")
        Exit Function
    End If

    ' (1) Check længden '------------------------------------------------------------------------
    If Len(eAddy) < 5 Then
    response.write(" <center><font color='#FF0000'>E-mail adressen er for kort.</font></center>")
else

' (3) Check for "@." og ".@" '--------------------------------------------------------------
    If ((InStr(eAddy,"@.") <> 0) OR (InStr(eAddy,".@") <> 0)) Then
    response.write(" <center><font color='#FF0000'>er m&aring; ikke v&aelig;re et punktum lige op af et ""@"" i e-mail adressen.</font></center>")
else

'    if eAddy = "" then
'    response.write("<center><font color='#FF0000'>Du har ikke udfyld din email addresse.</font></center>")
else



If InStr(1,eAddy,"@",vbTextCompare) = 0 then
response.write(" <center><font color='#FF0000'>er ikke en lovlig Email addresse.</font></center>")
else

    ' (12) Check TLD '--------------------------------------------------------------------------
    ValidTLD    = False
    ValidTLDs = Array("dk","com","edu","gov","int","mil","net","org","af","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","ac","au","at","az","bs","bh","bd","bb","by","be","bz","bj","bm","bt","bo","ba","bw","bv","br","io","bn","bg","bf","bi","kh","cm","ca","cv","ky","cf","td","cs","cl","cn","cx","cc","co","km","cg","ck","cr","ci","hr","cu","cy","cz","dj","dm","do","tp","ec","eg","sv","gq","er","ee","et","fk","fo","fj","fi","fr","gf","pf","tf","ga","gm","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","va","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kp","kr","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","fm","md","mc","mn","ms","ma","mz","mm","na","nr","np","nl","an","nc","nz","ni","ne","ng","nu","nf","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","re","ro","ru","rw","kn","lc","vc","ws","sm","st","sa","sn","sc","sl","sg","sk","si","sb","so","za","gs","es","lk","sh","pm","sd","sr","sj","sz","se","ch","sy","tw","tj","tz","th","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","gb","uk","us","um","uy","su","uz","vu","ve","vn","vg","vi","wf","eh","ye","yu","cd","zm","zr","zw")
    TLD        = Right(eAddy,(Len(eAddy) - InStrRev(eAddy,".")))

    For i = 0 TO UBound(ValidTLDs)
        If TLD = ValidTLDs(i) Then
            ValidTLD = True
            Exit For
        End If
    Next
   
    If NOT ValidTLD Then
    response.write(" <center><font color='#FF0000'>E-mail adressens dom&aelig;ne-endelse (f.eks. "".dk"" el. "".com"") er ikke korrekt.</font></center>")
        Exit Function
    End If


' (10) Check for multiple "@" '-------------------------------------------------------------
    Ats = 0
    For i = 1 TO Len(eAddy)
        If Mid(eAddy,i,1) = "@" Then
            Ats = Ats + 1
        End If
    Next
    If Ats > 1 Then
    response.write(" <center><font color='#FF0000'>E-mail adressen indeholder for mange ""@"".</font></center>")
        Exit Function
    End If

' (13) Check each character '---------------------------------------------------------------
    For i = 1 TO Len(eAddy)
        If NOT IsNumeric(Mid(eAddy,i,1)) AND (LCase(Mid(eAddy,i,1)) < "a" OR LCase(Mid(eAddy,i,1)) > "z") AND Mid(eAddy,i,1) <> "_" AND Mid(eAddy,i,1) <> "." AND Mid(eAddy,i,1) <> "@" AND Mid(eAddy,i,1) <> "-" Then
        response.write(" <center><font color='#FF0000'>E-mail adressen indeholder et eller flere ugyldige tegn..</font></center>")
        Exit Function
        End If
    Next

    ' (14) Addresses to be excluded '-----------------------------------------------------------
    Exclude = Array("test@test.com") ' Enter addresses to be excluded (perhaps due to abuse).

    For i = 0 TO UBound(Exclude)
        If eAddy= Exclude(i) Then
        response.write(" <center><font color='#FF0000'>Der kan ikke sendes til den valgte e-mail adresse da den er ekskluderet pga. misbrug.</font></center>")
            Exit Function
        End If
    Next
Avatar billede medions Nybegynder
24. februar 2003 - 13:44 #1
Hør nu her! -Det her er et ASP spm!  og IKKE et VBScript spørgsmål! Så derfor vær så venlig at lukke det og oprette det under ASP kategorien!

//>Rune
Avatar billede asker Nybegynder
24. februar 2003 - 14:37 #2
Tak for det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester