Validator
Hej AlleJeg 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å ikke væ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æ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å ikke væ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å ikke væ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æ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
