06. marts 2005 - 13:27
Der 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 ;)
- Dennis
06. marts 2005 - 13:45
#1
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