Jag skulle behöva en funktion för att byta ut förbjudna tecken i filnamn med en lämplig regexp pattern.
Ex. om man skriver "månadsbokföring.txt" så skall funktionen se till att byta ut ogiltiga bokstäver. ex. "m_nadsbokf_ring.txt"
Några tips?
Har letat lite men det verkar skralt.
Regexp endast tillåtna filnamn.
10 svar · 474 visningar · startad av Jesper T
Hur inplementeras det då, antar att det måste vara global.
Hur görs replacen med ex. underscore "_".
Vilka tecken är igentligen "gångbara" i filnamn (på webben)?
Function ReplaceBadChar(strText)
Dim objRx
Set objRx = New RegExp
objRx.Global = True
objRx.IgnoreCase = True
objRx.Pattern = "([^a-zA-Z0-9\.])"
ReplaceBadChar = objRx.Replace(strText, "_")
End Function
Response.Write ReplaceBadChar("hejhej på dig. ops")
Ovan skrivar ut hejhej_p__dig._ops
Tillåtna tecken i fallet är: Bokstäver (ej åäö), siffror samt '-', '_' och '.'.
Tack! Det var ju det jag behövde!
Märkte att det inte funkade att skriva varken "_" eller "-".
Hur skall jag få med dem i min pattern?
Not:
Jag ändrade:
ReplaceBadChar = objRx.Replace(strText, "_")
Till:
ReplaceBadChar = objRx.Replace(strText, "")
Oj jag glömde visst ändra mitt pattern :)
objRx.Pattern = "([^a-zA-Z0-9\.-_])"
Så, nu ska det fungera.
Ok, nu verkar allt funka utom utom "-".
Underscore funkar men "-" plockas bort.
Det verkar komplicerat det här med patterns.
Thx! :)
Så menade jag nog ;) jag tänkte inte på att "-" tolkas som ett intervall om det står mellan [ och ].


