Javascript Regex zum Überprüfen von Dateinamen

8

Ich habe einen regulären Ausdruck, um Dateinamen zu validieren. Hier ist es:

%Vor%

Es sollte Dateinamen wie folgt zulassen:

%Vor%

Die folgenden Zeichen sind nicht erlaubt \ / : * ? \" < > |

Das Problem ist, dass Dateinamen wie *.txt oder /\kk die Validierung bestehen. Ich mache Validierung mit Keyup-Ereignis. Wenn ich also ein zusätzliches Zeichen nach einem nicht erlaubten Zeichen setze, zeigt das, dass alles korrekt ist.

    
Rafael Sedrakyan 19.06.2012, 12:21
quelle

5 Antworten

7

Sie müssen einen Startanker hinzufügen:

%Vor%

Dies weist die Engine an, vom Anfang der Eingabe bis zum Ende der Eingabe zu passen, während sie für den ursprünglichen Ausdruck nur am Ende der Eingabe übereinstimmen muss.

    
Mattias Buelens 19.06.2012, 12:23
quelle
24

Für Windows-Namen.

%Vor%     
Andrew D. 19.06.2012 13:06
quelle
6

Sie müssen den Ausdruck mit ^ und $ verankern. Zum Beispiel:

%Vor%

Beachten Sie, dass Sie - in einer Zeichenklasse oder als erstes / letztes Zeichen zurückgeben müssen.

    
Qtax 19.06.2012 12:23
quelle
2
%Vor%     
Ryan Williams 08.12.2014 03:46
quelle
0

Ich würde etwas mit diesem Regex versuchen (Sie können sogar ein Validierungsattribut für ASP.NET MVC damit erstellen!):

%Vor%

Wenn es mit der Eingabe übereinstimmt, ist es ein gültiger Dateiname (zumindest unter Windows).

    
user2173353 17.04.2015 15:16
quelle

Tags und Links