Avatar billede roedz Nybegynder
02. december 2001 - 13:43 Der er 3 kommentarer og
1 løsning

Email validering

Jeg har et script der skal går ind og validering en e-mail, men hvordan for jeg det til at virke i forhold til det tekstfelt hvor man indtaster e-mailen?
scriptet ser således ud:

<%

Function EmailCheck(Value, ValueMaxLength)
    If (IsNull(Value)) Or (IsArray(Value)) Then Value = \"\"
    If (CharPos(Value)) Or (MaxLength(Value, ValueMaxLength)) Or (CountAts(Value)) Or (IligalChars(Value)) Then
        EmailCheck = False
    Else
        EmailCheck = True
    End If
End Function

Function CharPos(Value)
    If ((Instr(Value, \"@\") + 2) > InstrRev(Value, \".\")) Or (Instr(Value, \"@\") <= 1) Or (Instr(Value, \".\") <= 1) Or (InstrRev(Value, \"@\") = Len(Value)) Or (InstrRev(Value, \".\") = Len(Value)) Then
        CharPos = True
    Else
        CharPos = False
    End If
End Function

Function MaxLength(Value, ValueMaxLength)
    If (Len(Value) <= ValueMaxLength) Or (ValueMaxLength = 0) Then
        MaxLength = False
    Else
        MaxLength = True
    End If
End Function

Function CountAts(Value)
    AtsPos = 1
    Count = 0
    Do While AtsPos > 0
        If Count = 0 Then AtsPos = 0
        AtsPos = Instr(AtsPos+1, Value, \"@\")
        If AtsPos > 0 Then Count = Count + 1
    Loop
    If Count <> 1 Then CountAts = True Else CountAts = False
End Function

Function IligalChars(Value)
    ValueCopy = Value
    LegalChars = \"abcdefghijklmnopqrstuvwxyz0123456789.@-_\"
    For Counter = 1 To Len(LegalChars)
        ValueCopy = Replace(ValueCopy,LCase(Mid(LegalChars,Counter,1)),\"\")
        ValueCopy = Replace(ValueCopy,UCase(Mid(LegalChars,Counter,1)),\"\")
    Next
    If Len(ValueCopy) = 0 Then IligalChars = False Else IligalChars = True
End Function
%>

Og formen ser således ud (det er i feltet email som det scriptet foroven skal validerer):

response.write\"<table align=\"\"center\"\" width=\"\"500\"\" cellpadding=\"\"5\"\" cellspacing=\"\"0\"\"><tr><td colspan=\"\"2\"\" class=\"\"overskrift\"\">\"

response.write \"PRIS : \" & Ialt

response.write \"<form action=\"\"send.asp\"\" method=\"\"post\"\">\"
response.write \"</td><Input type=\"\"Hidden\"\" name=\"\"pris\"\" value=\" & Ialt & \"></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Fornavn:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"fornavn\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Efternavn:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"Efternavn\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Adresse:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"Adresse\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Postnr:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"postnr\"\" size=\"\"4\"\" maxlength=\"\"4\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">By:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"by\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Tlf nr.:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"Tlfnr\"\" size=\"\"8\"\" maxlength=\"\"8\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">E mail:</td><td width=\"\"350\"\"><input type=\"\"text\"\" name=\"\"Email\"\"></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Sommerkatalog</td><td width=\"\"350\"\"><input type=\"\"checkbox\"\" name=\"\"Katalog1\"\" value=\"\"Sommer\"\" checked></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Vinterkatalog</td><td width=\"\"350\"\"><input type=\"\"checkbox\"\" name=\"\"Katalog2\"\" value=\"\"Vinter\"\" checked></td></tr><tr>\"
response.write \"<td width=\"\"150\"\" class=\"\"tekst\"\">Golfkatalog</td><td width=\"\"350\"\"><input type=\"\"checkbox\"\" name=\"\"Katalog3\"\" value=\"\"Golf\"\" checked></td></tr><tr>\"
response.write \"<td colspan=\"\"2\"\"><input type=\"\"submit\"\" name=\"\"Submit\"\" value=\"\"Send\"\"> \"
response.write \"<input type=\"\"Reset\"\"></td></tr></table>\"
response.write \"</form>\"


Altså det er mening emailen skal valideres, så man undgår fejl. men hvordan for at sammensat den 2 ting??

På forhånd TAK :))




Avatar billede baw Nybegynder
04. december 2001 - 17:58 #1
Da du vil validere i ASP, skal filen send.asp indeholde valideringen.

Der skal der findes ud af om den indtastede streng i email feltet er gyldig.

Jeg vil dog anbefale, at du foretager en validering i JavaScript.
Avatar billede baw Nybegynder
04. december 2001 - 18:04 #2
Her er et eksempel på et JavaScript

<script language=javascript>
<!-- Skjul dette for ælder browsere
  function gyldigEmail(email){
    ugyldigeTegn = \"/:,;\"

    //Må ikke være tom
    if (email == \"\"){
        return false
    }

    //Indeholder den ugyldige tegn?
    for (i=0; i<ugyldigeTegn; i++){
        fejlTegn = ugyldigTegn.charAt(i)
        if (email.indexOf(fejlTegn,0)>-1){
            return false
        }
    }

    //Der skal være et @-tegn
    paaPos = email.indexOf(\"@\",1)
    if (paaPos == -1){
        return false
    }

    //Og kun et @-tegn
    if (email.indexOf(\"@\",paaPos+1) != -1){
        return false
    }
    punktumPos = email.indexOf(\".\",paaPos)

    //Og mindst et punktum efter @-tegnet
    if (punktumPos == -1){
        return false
    }

    //Der skal være mindst 2 tegn efter punktummet
    if (punktumPos+3 > email.length){
        return false
    }
    return true
  }
//->
</script>

I formen skriver du
<form action=\"send.asp\" name=\"form\" method=\"post\" onSubmit=\"return gyldigEmail(document.form.email.value)\">

Hermed vil der blive givet besked med det samme, hvis der er indtastet en ugyldig email, når formen bliver submittet.
Avatar billede roedz Nybegynder
04. december 2001 - 21:56 #3
baw - -> hvor ligger jeg så Javascripten henne??
Avatar billede baw Nybegynder
05. december 2001 - 08:48 #4
Den skal du lægge mellem <HEAD> og </HEAD> i den fil som indeholder formen.
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