Avatar billede mitbrugernavn Praktikant
10. august 2008 - 20:18 Der er 6 kommentarer og
1 løsning

tjek tegn i streng

har følgende:

tjek = "http://www.ditdomæne.dk/test.asp"
Function CheckInput(inputstr)
validChar = "_:/.-,abcdefghijklmnopqrstuvwxyzæøå0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(inputstr)
  if inStr(1,validChar,Mid(inputstr,i,1),1) = 1 then
    CheckInput = false
  exit function

  end if
next
CheckInput = true
end function

if CheckInput(tjek) = true then
response.write "ok"
else
response.write "fejl"
end if

den skulle jo tjekke om der er andre tegn end dem der er angive og returnere i forhold til dette - men den komme med false ????
Avatar billede j_andersen Nybegynder
11. august 2008 - 11:57 #1
Functionen InStr checker om HELE strengen ValidChar ("_:/.-") er indeholdt inputstr,
fra char i, og længden 1.
dette vil aldrig blive true, derfor vil den aldrig melde fejl.

Du kan tage een karakter ad gangen fra ValidCher og scecke om den er indeholdt i inputstr.
På'en igen !
Avatar billede softspot Forsker
25. august 2008 - 00:08 #2
Ja, det skal nok undersøges således:

Function CheckInput(inputstr)
  dim validChar, i
  validChar = "_:/.-,abcdefghijklmnopqrstuvwxyzæøå0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
  for i = 1 to len(inputstr)
    if inStr(1, validChar, Mid(inputstr, i, 1)) = 0 then
      ' tegnet findes ikke i validChar, så derfor returneres false
      CheckInput = false
      exit function
    end if
  next
  CheckInput = true
end function

tjek = "http://www.ditdomæne.dk/test.asp"
if CheckInput(tjek) = true then
  response.write "ok"
else
  response.write "fejl"
end if


Alternativt kunne du evt. benytte regulære udtryk (den er nok noget hurtigere end den iteration du selv har foreslået):

Function CheckInput(inputstr)
  dim rx
  set rx = new RegExp
  rx.global = true
  rx.ignorecase = true
  rx.pattern = "^[\_\:\/\.\-\,abcdefghijklmnopqrstuvwxyzæøå0123456789]+$"
  CheckInput = rx.Test(inputstr)
  set rx = nothing
end function
Avatar billede mitbrugernavn Praktikant
25. august 2008 - 08:30 #3
tak for hjælpen - læg et svar
Avatar billede mitbrugernavn Praktikant
25. august 2008 - 08:31 #4
ja, det var ikke mig selv der skulle lægge et svar ;-))))
Avatar billede softspot Forsker
25. august 2008 - 08:42 #5
Velbekomme :)
Avatar billede mitbrugernavn Praktikant
25. august 2008 - 08:53 #6
så er det klaret - takker.
Avatar billede softspot Forsker
25. august 2008 - 09:54 #7
Tak for 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