Avatar billede qqq Nybegynder
25. juli 2002 - 15:57 Der er 16 kommentarer og
3 løsninger

InStr() ... Finde ugyldige tegn

Hej

Ved valg af brugernavn vil jeg gerne finde ud af og fortælle brugeren, hvis personen har benyttet et ugyldigt tegn. Hvordan gør jeg det? Det skulle gerne være sådan at jeg kan angive en række af ugyldige tegn, som der så tjekkes for og hvis brugernavnet indeholder en af disse, så skal brugeren have besked.

Gerne et eksempel... på forhånd tak :-)
Avatar billede krogstrup Nybegynder
25. juli 2002 - 16:02 #1
if inStr(username,"#") > 0 then warning = "du må ikke bruge # i dit username"

osv. osv.
Avatar billede exp-ralle Nybegynder
25. juli 2002 - 16:04 #2
Smart nok...
Avatar billede qqq Nybegynder
25. juli 2002 - 16:06 #3
Ja den forstår jeg godt, men hvad hvis jeg vil tjekke for mere end et ugyldigt tegn. Hvis der f.eks er 5 tegn der ikke kan anvendes... #,|,[,],; mv.
Avatar billede killer_r Nybegynder
25. juli 2002 - 16:07 #4
Strengen = "Streng med ugyldige tegn '/"
ArrTegn = Array("'","/") ' Tilføj selv flere tegn...
for i = 0 to Ubound(ArrTegn)
if not inStr(Strengen,ArrTegn(i)) = 0 then
Response.write "Strengen må ikke indeholde tegnet: " & ArrTegn(i)
end if
next
Avatar billede qqq Nybegynder
25. juli 2002 - 16:11 #5
Se det var straks bedre :-)

Men killer_r, hvad så hvis " også er et ugyldigt tegn, går det så ikke helt i kage, hvis ArrTegn ser således ud? ArrTegn = Array("'","/",""")
Avatar billede killer_r Nybegynder
25. juli 2002 - 16:12 #6
Prøv sådan:
ArrTegn = Array("'","/","""")
Avatar billede soes Nybegynder
25. juli 2002 - 16:15 #7
du kan også vælge at lave en løsning hvor du bruger RegExp til at validere din data, det vil jeg mene er en fuldstændig løsning
Avatar billede killer_r Nybegynder
25. juli 2002 - 16:20 #8
soes >>>
Det kan da vel være ligemeget... Bare det virker efter hensigten... Til det han skal bruge ville det nok være lige rigeligt med RegExp...
Avatar billede soes Nybegynder
25. juli 2002 - 16:24 #9
jeg kan godt se at din løsning ville være ok, hvis vi snakker om et enkelt eller 2 tegn, men hvorfor ikke lave det ordentligt når man er igan?
Avatar billede killer_r Nybegynder
25. juli 2002 - 16:27 #10
Det vil da virke med mange tegn... Bare prop nogle flere i Arrayet...!
Avatar billede soes Nybegynder
25. juli 2002 - 16:29 #11
ok, havde lige misset dit forslag der, undskyld
men jeg synes stadig ikke at en regexp løsning ville være for voldsomt
Avatar billede soes Nybegynder
25. juli 2002 - 16:54 #12
her kommer lige en løsning med regexp

Function CheckInput(inputstr)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^[a-zA-Z0-9]+$"
regEx.IgnoreCase = True
CheckInput = regEx.Test(inputstr)
End Function

Response.write(CheckInput())
Avatar billede qqq Nybegynder
25. juli 2002 - 17:22 #13
soes >> Prøver også med din løsning, så læg gerne et svar.

killer_r >> Det virker jo fint, men når jeg kører den kommer der til at stå:

Brugernavn må ikke indeholde tegnet: 'Brugernavn må ikke indeholde tegnet: /Brugernavn må ikke indeholde tegnet: |

Hvordan vil det se ud, hvis jeg kun ønsker at finde det første ugyldige tegn og gøre brugeren opmærksom på dette?
Avatar billede qqq Nybegynder
25. juli 2002 - 17:26 #14
Skal nok afsætte nogle flere point, hvis nødvendigt :-)
Avatar billede soes Nybegynder
25. juli 2002 - 17:31 #15
du får lige et svar
Avatar billede krogstrup Nybegynder
25. juli 2002 - 17:41 #16
Strengen = "Streng med ugyldige tegn '/"
ArrTegn = Array("'","/") ' Tilføj selv flere tegn...
for i = 0 to Ubound(ArrTegn)
if not inStr(Strengen,ArrTegn(i)) = 0 then
Response.write "Strengen må ikke indeholde tegnet: " & ArrTegn(i)
exit for
end if
next
Avatar billede killer_r Nybegynder
25. juli 2002 - 20:25 #17
Ligesom det krogstrup siger... :)
Avatar billede cms Nybegynder
26. juli 2002 - 16:35 #18
Hmmm.
Aktiv tilladelse er altid mere sikker end passiv tilladelse. Det er klart bedre at definere nogle gyldige tegn end at definere ugyldige. Ergo at bruge soes' løsning
Avatar billede qqq Nybegynder
28. juli 2002 - 01:36 #19
Tak for hjælpen, point er ændret fra 30 - 90 point :-)
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