Mam wyrażenie regularne do sprawdzania poprawności nazw plików. Oto ona:Wywołanie JavaScript do sprawdzania poprawności nazw plików
/[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_ ]+$/
Powinno to pozwolić nazwy plików tak:
aaa
aaa.ext
a#
A9#.ext
Następujące znaki są niedozwolone \/: * ? \" < > |
Problemem jest to, że nazwy plików jak *.txt
lub /\kk
przechodzi walidację . Robię sprawdzanie poprawności za pomocą zdarzenia keyup. Więc kiedy dodaję jedną dodatkową postać po niedozwoleniu, pokazuje ona, że wszystko jest w porządku.
Escape/with \ in rg1. Przynajmniej tak myśli VS 2010. – noober
^(?! \.) (?! com [0-9] $) (?! con $) (?! Lpt [0-9] $) (?! nul $) (?! prn $) [^ \ | \ * \? \\: <>/$ "] * [^ \. \ | \ * \? \\: <>/$"] + $ –
Dzięki @RyanWilliams za komentarz. Ale wiem, jak utworzyć plik w systemie Windows z długą nazwą pliku, która zawiera kropkę na końcu nazwy pliku i bez rozszerzenia :) –