Lieber WernerK,
Stimmt die Regex nicht?
ja.
Du definierst eine character class mit dem Ausschlusszeichen '^':
var rexp = new RegExp(/[^\/:*?"<>|]/)
Dann willst Du die auszuschließenden Zeichen finden(?!) und ersetzen.
return fname.replace(rexp, "")
Deine RegExp findet nur das, was Du nicht ausgeschlossen hast, also alle erlaubten Zeichen. Deshalb kann replace() die verbotenen Zeichen nicht ersetzen, da diese ja nicht gefunden werden.
Liebe Grüße,
Felix Riesterer.