also passt Gunnars Lösungsvorschlag nur beim ersten Zeichen, nicht aber bei allen restlichen, die man als Dateinamen eingeben kann.
Nein, der Ausdruck liest sich wie folgt:
Von Anfang ^ bis Ende $ müssen alle vorkommenden Zeichen aus der Zeichenklasse [...] stammen, wobei die Zeichenkette mindestens 1 Zeichen lang sein muss, aber ansonsten beliebig lang sein darf +. Die angesprochene Zeichenklasse enthält alle Zeichen, die nicht ^ die Folgenden sind /:*?"<>|
^[^\/:*\?\u0022<>|]+$
Du kannst ja selber mal Rumprobieren: http://jsfiddle.net/brq5jbvw/