24. juli 2005 - 12:24Der er
9 kommentarer og 1 løsning
Bruge regular expression til at fjerne tegn i variabels indhold
Når der uploades filer til min server ønsker jeg ikke at filerne kan indeholde "ikke-hensigtsmæssige" tegn. F.eks.: mine børn.jpg svend's kattepoter & slikpose.jpg ándre.jpg
osv. osv.
Følgende tegn skal være de eneste tilladte i filnavnet: a-z 0-9 - (bindestreg) _ (understreg)
Hvordan bruger jeg regular expression (eller måske anden metode, hvis der findes et smartere approach) til at "rense" filnavnet for ikke tilladte tegn ?
i regulært udtryk så -- <% Function RegReplace(str) Dim regEx Set regEx = New RegExp regEx.Pattern = "[^a-zA-Z0-9\_\-\.]" While regEx.Test(str) str = regEx.Replace(str, "") Wend RegReplace = str End Function
der tog jeg så punktummet med, det giver problemer med et filnavn som "hej.med.dig.jpg" Du kunne fjerne punktummet fra funktionen og så blot kalde den med selve navnet
busschou > Tak for dit svar. Du har ret i at funktionen kun bør acceptere eet punktum (og selvfølgelig det rigtige sted). Men jeg prøver mig frem med din funktion, som virker glimrende...
re.Pattern = "[^a-z\d_-](?!" & ext & "$)" RegReplace = re.Replace(str, "") End Function
fil = "møg. og. åge$ .jpg"
response.write RegReplace(fil) %>
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.