2009-01-11 13 views
13

Mam ASP.NET RegularExpressionValidator, który sprawdza rozszerzenia plików. Czy istnieje szybki sposób, aby powiedzieć, aby zignorować przypadek rozszerzenia bez konieczności jawnego dodawania wariantów wielkich liter do mojego wyrażenia sprawdzającego poprawność?Jak mogę zignorować wielkość liter w wyrażeniu regularnym?

ValidationExpression="([^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ... 
+1

można pozbyć niektóre z powielania w tej regex: '(JPE g | gif | png | WPF | docx | xlsx?. ..' – PEZ

Odpowiedz

23

Po stronie serwera można użyć "(? I)", ale to nie działa po stronie klienta. Aby uzyskać więcej informacji i obejść problem, zobacz artykuł here.

ie "(? I) ... (jpg | png | gif | png | WPF | ..."

+1

Nie mogę połączyć się z tym łączem. Rzeczywiście otrzymuję 403.6 ... sho uld się martwię? – PEZ

+0

@PEZ: próbowałem, działa dobrze ... ale jest mnóstwo innych - po prostu szukaj + RegularExpressionValidator + IgnoreCase –

+0

@PEZ - usuniemy //, który może zmylić niektóre przeglądarki; przepraszam ... –

2

W VisualBasic.NET, można użyć RegExOptions ignorować he sprawy:

Dim RegexObj As New Regex("([^.]+[.](jpg|jpeg|gif))", RegexOptions.IgnoreCase) 
+0

Ponownie, to nie działa z funkcją RegularExpressionValidator –

+0

Tak, przepraszam, widziałem to za późno. Powinienem uważniej czytać pytania. –

1

Według Regular Expression Options, to powinno działać:

// Added LowerCase i: 
ValidationExpression="(?i:[^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ... 
+0

tak długo, jak jest po stronie serwera; Nie sądzę, że działa po stronie klienta –

Powiązane problemy