Du kan lave en streng med tilladte tegn og gennemløbe den med en løkke:
fejlkode = 0 tilladteTegn = "ABCDEFGHIJHKLMOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" for i = 1 to len(brugernavn) if instr(mid(brugernavn, i, 1), tilladteTegn) = 0 then fejlkode = 1 ' ikke tilladt - så fejlmeld! end if next
if fejlkode = 0 then ' brugernavnet indeholder kun gyldige tegn... end if
Jeg er heller ikke helt stiv i RegEx, så det var bare for at illustrere at der også var en mulighed der :)
Synes godt om
Slettet bruger
28. november 2006 - 14:44#9
Arh.. jeg havde lige glemt at teste det ordenligt... Nu skriver den at der er ugyldige tegn uanset hvad?..
Min kode:
brugernavn = request.Form("Brugernavn")
fejlkode = 0 tilladteTegn = "ABCDEFGHIJHKLMOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-" for i = 1 to len(brugernavn) if instr(mid(brugernavn, i, 1), tilladteTegn) = 0 then fejlkode = 1 ' ikke tilladt - så fejlmeld! end if next
if fejlkode = 1 then Response.Redirect("Opretbruger.asp?fejl=Der er ugyldige tegn i brugernavnet!") end if
'for t = LBound(Brugernavnstegn) to UBound(Brugernavnstegn) 'for i = LBound(arrUgyldigetegn) to UBound(arrUgyldigetegn) 'If instr(Brugernavnstegn(t), arrUgyldigetegn(i)) > 0 then ' Response.Redirect("Opretbruger.asp?fejl=Der er ugyldige tegn i brugernavnet!") 'else 'end if 'next 'Next
En kommentar til arrays i VBScript: det kan ikke betale sig at kalde LBound på arrays i VBS, da de altid starter ved indeks 0, så man kan bare køre sine løkker fra 0 til ubound(arrayet). Dette er primært et performancespørgsmål og der er ikke noget ugyldigt i at lave kaldet - men det er som sagt unødvendigt :)
Synes godt om
Ny brugerNybegynder
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.