06. marts 2005 - 13:27Der er
1 kommentar og 1 løsning
Tegn-filter på en variabel.
Hej folkens. Ser i, jeg har lavet et site hvori der kan oprettes profiler så ofte de nu vil og dertil skal de indtaste et ønsket profilnavn, MEN...
...hvis en person indtaser fx dette: "Dårk*star", så vil jeg gerne have tegnene (i dette ex: *,å) filtreret ud.
Hvordan kan dette lade sig gøre? Skal jeg bruge en funktion som fortæller HVAD der må være? - Eller skal det være en funktion der fortæller hvad der IKKE må være?
Og hvad skal jeg bruge af kode for at gøre dette? Det foregår såvel i ASP ;)
Som du selv siger kan du lave en function som enten tjekker på lovlige eller ulovlige karakter. Om det er det ene eller andet afgør man ved at tænke lidt over hvilke karakter er lovlige og hvilke er ulovlige. Tillader du kun bogstaver+tal (uden æøå) ville det være smart at tjekke lovlige karakter. Tillader du alle undtagen 5-10 stykker (æøå, !"#¤%&/()=?" kan det måske være en fordel at tjekke ulovlige karakter.
Der er to metoder enten string funktionerne instr, replace eller med regular expressen. Her er en funktion som tjekker for lovlige karakter og fjerne ulovlige:
fixNavn(str) okkarakter="abcdefghijklmnopqrstuvwxyz0123456789" tmp="" for i = 1 to len(str) if instr(1,okkarakter,mid(str,i,1),1)>0 then tmp=tmp & mid(str,i,1) end if next fixNavn = tmp end function
Samme function som gør brug af regular expressen:
function fixBrugerNavn(str) Dim RegEx Set RegEx = New RegExp RegEx.Global=true RegEx.IgnoreCase=true RegEx.Pattern = "([^a-z0-9])" fixBrugerNavn = RegEx.Replace(str,"") Set RegEx=Nothing end function
Det var lige den funktion jeg ledte efter :) Du glemte dog 'function' først ;)
Anyway, tak dude... Bliver nu brugt de fleste steder.
- Dennis :)
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.