Hallo!
Eigentlich ist das Problem schon gelöst, da man es einfach anders machen kann. Dennoch interessiert mich die urspüngliche Frage und ich bin neugierig ob es eine Lösung gibt.
Das Script fragt verschiedene Parameter ab, die verarbeitet werden. Unter anderem soll der Benutzer einen Speicherpfad via "FileSelectFolder" wählen und in einer "InputBox" den Namen angeben unter dem gespeichert werden soll.
Problem: Den Zeichenraum eingrenzen um verbotene Zeichen im Dateinamen auszuschließen also z.B. /+'"\ usw.
schwache Lösung: If StringIsAlNum -> ok , sonst wird die Eingabe nicht angenommen und der vorige Standardwert bleibt erhalten.
warum schwach: weil damit auch keine Dateinamen mit "_" oder "-" möglich sind.
Workaround: Pfad und Dateiname mit "FileSaveDialog" abfragen und die Elemente z.B. per "_PathSplit" extrahieren. Das gute daran, es löst auch gleich das Problem, dass per "FileSelectFolder" auch sinnfreie Ergebnisse wie "Computer" möglich sind wenn das root dir nicht sehr eng begrenzt wird, was weitere Fehlerbehandlung nötig macht.
Nun meine Frage: Wie kann ich eine beliebige Eingabe möglichst kurz und knackig auf gültige Zeichen z.B. für Dateinamen prüfen, um dem Nutzer zu sagen dass Zeichen x ungültig ist und es neu versucht werden soll. Also etwas in der Art 'StringIsAlNum or "_" or "-"' Ohne gleich eine 2-Seitige RegEx schreiben zu müssen, da bin ich nämlich schlecht drin. Gibt es eine UDF?
AFAIK gibt es in php fertige Funktionen um Eingaben zu maskieren und den gefährlichen Zeichensatz zu Filtern.
Vielen Dank für´s lesen und noch mehr Dank für Antworten.