2009-01-11 110 views
13

我有一個ASP.NET RegularExpressionValidator檢查文件擴展名。有沒有一種快速的方法,我可以告訴它忽略擴展的情況下,而不必明確地將大寫變體添加到我的驗證表達式中?如何在正則表達式中忽略大小寫?

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

可以擺脫一些在正則表達式的重複:'(JPE G | GIF | PNG | WPF | DOCX | XLSX?。 ..' – PEZ 2009-01-11 13:14:12

回答

23

服務器端可以使用「(?i)」,但這不適用於客戶端。有關更多討論和解決方法,請參見here

即 「(我)......(JPG | JPEG | GIF | PNG | WPF | ...」

+1

我無法到達那個鏈接,我實際上得到了一個403.6 ...笑我擔心嗎? – PEZ 2009-01-11 13:15:52

+0

@PEZ:重試,工作正常......但也有很多其他 - 只是搜索+ RegularExpressionValidator + IgnoreCase – 2009-01-11 13:17:28

+0

@PEZ - 我會刪除/可能會混淆一些瀏覽器;對不起... – 2009-01-11 13:18:41

2

在VisualBasic.NET,你可以使用RegExOptions忽略他的情況:

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

按照Regular Expression Options,這應該工作:

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