---
title: "Regexp endast tillåtna filnamn."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/78663-regexp-endast-tillåtna-filnamn"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jesper T"
published: "2003-06-01T21:00:08.000Z"
updated: "2003-06-17T08:07:24.000Z"
replies: 10
views: 479
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/78663-regexp-endast-tillåtna-filnamn"
---

# Regexp endast tillåtna filnamn.

## #1 — Jesper T, 2003-06-01T21:00Z

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.

Permalänk: https://www.webforum.nu/p/78663

## #2 — Vide, 2003-06-02T06:41Z

```
([^a-zA-Z]\.)
```

... eller (med space)...

```
([^a-zA-Z\s\.])
```

Lägg till dom tecken du vill ha med.

Permalänk: https://www.webforum.nu/p/1072072

## #3 — Jesper T, 2003-06-15T23:25Z

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)?

Permalänk: https://www.webforum.nu/p/1083868

## #4 — Engine^, 2003-06-16T07:43Z

```
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 '.'.

Permalänk: https://www.webforum.nu/p/1083929

## #5 — Jesper T, 2003-06-16T07:54Z

Tack! Det var ju det jag behövde!

Permalänk: https://www.webforum.nu/p/1083936

## #6 — Jesper T, 2003-06-16T07:58Z

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, "")

Permalänk: https://www.webforum.nu/p/1083938

## #7 — Engine^, 2003-06-16T08:08Z

Oj jag glömde visst ändra mitt pattern :)

```
objRx.Pattern = "([^a-zA-Z0-9\.-_])"
```

Så, nu ska det fungera.

Permalänk: https://www.webforum.nu/p/1083943

## #8 — Jesper T, 2003-06-16T19:31Z

Ok, nu verkar allt funka utom utom "-".
Underscore funkar men "-" plockas bort. 
Det verkar komplicerat det här med patterns.

Permalänk: https://www.webforum.nu/p/1084434

## #9 — Sebbe, 2003-06-16T19:36Z

Engine hade nog tänkt sig det såhär? :)

```
objRx.Pattern = "([^a-zA-Z0-9\.\-_])"
```

Permalänk: https://www.webforum.nu/p/1084438

## #10 — Jesper T, 2003-06-16T19:40Z

Thx! :)

Permalänk: https://www.webforum.nu/p/1084444

## #11 — Engine^, 2003-06-17T08:07Z

Så menade jag nog ;) jag tänkte inte på att "-" tolkas som ett intervall om det står mellan \[ och \].

Permalänk: https://www.webforum.nu/p/1084714

---

Tråden på webben: https://www.webforum.nu/amne/asp/78663-regexp-endast-tillåtna-filnamn
