' (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
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
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
ok, det er nok bare mig, men i dette tilfaelde vil jeg altsaa bruge reg.exp Jeg ved godt at du ikke kan faa samme detaljeret fejl beskrivelse tilbage, men det er altsaa kun en email adresse. jeg synes at det som du har gang i virker som en omgang overkill.
Du kan bare tage de dele af koden, som du vil bruge, og lave en if-endif omkring dem - akkurat ligesom du har gjort ved den regel, du allerede har implementeret.
Som soes er inde på, ville det være langt smartere at bruge Reg Exp. Uanset hvor meget validering, du foretager kan du alligevel ikke tjekke, om den tilhører dem uden at sende dem en mail, de skal aktivere.
Jeg har lavet denne funktion til dig, der tjekker adressen lige så godt som den ovenstående "pløre":
Function MailOK(Streng) Dim myReg Set myReg = New RegExp myReg.IgnoreCase = True myReg.Pattern = "^[a-z0-9\.\-\_]+\@[a-z0-9\.\-]+\.[a-z]{2,4}$" MailOK = myReg.Test(Streng) End Function
If MailOK("min@mail.dk") Then Response.Write "Adressen er gyldig!" Else Response.Write "Adressen er ikke gyldig!" End If
Dim eAddy, MailGyldig eAddy = Request.Form("eaddy") response.write( eAddy )
'(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) '----------------------------------------------------------- ElseIf InStr(eAddy,".") = 0 Then response.write(" <center><font color='#FF0000'>E-mail adressen skal indeholde mindst eet punktum.</font></center>") ' (0) May not include æ, ø, å '----------------------------------------------------------- ElseIf InStr(LCase(eAddy),"æ") Or InStr(LCase(eAddy),"ø") Or InStr(LCase(eAddy),"å") Then response.write(" <center><font color='#FF0000'>Ingen danske tegn.</font></center>") ' (6) Max. 3 characters after the last "." '------------------------------------------------ ElseIf (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 ".." '---------------------------------------------------------------------- ElseIf 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 "." '-------------------------------------------- ElseIf (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 "@" '-------------------------------------------------------------------- ElseIf ((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>") ' (1) Check længden '------------------------------------------------------------------------ ElseIf Len(eAddy) < 5 Then response.write(" <center><font color='#FF0000'>E-mail adressen er for kort.</font></center>") ' (3) Check for "@." og ".@" '-------------------------------------------------------------- ElseIf ((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 MailGyldig = True End If
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>") MailGyldig = False ElseIf
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>") MailGyldig = False 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>") MailGyldig = False 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>") MailGyldig = False End If Next
If MailGyldig Then
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>") Else mailSQL = "INSERT into MailingList (MailingAddy) VALUES ('" & eAddy & "');" conn.Execute mailSQL response.write(" er tilføjet nyhedsbrevet!") End If End If End If
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.