2011-08-18 19 views
1

我必須過濾文件名以匹配圖像(png,jpg,gif,bmp)文件,可以製作這樣的正則表達式還是必須爲每種文件類型使用不同的正則表達式?它也不能包含路徑像../../或/var/app/filename.exe等圖像文件名的Java正則表達式?

+0

FRO你在哪裏得到這個文件路徑?從瀏覽器?從FileDialog? –

+0

從http請求參數。 – newbie

+0

所以你想在JavaScript中進行驗證? –

回答

4
+0

我必須提到,如果你不想允許路徑在文件名中,那麼必須編輯代碼。我使用了([\ w] +(\。(?i)(jpg | png | gif | bmp))$),這意味着文件名只能使用字母和數字。 – newbie

+0

提供任何代碼和一些解釋可能很有用。想象一下,博客不再存在。 – alexander

2

很簡單:

re = ".*\\.(png|jpg|gif|bmp)" 

只要你不需要大寫和JPEG。 :)

6

我會用這樣的事情...這應包括大多數情況下沒有去過多進入瘋狂的細節...

(.*/)*.+\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP)$ 

爲Java String這個表達式如下:

"(.*/)*.+\\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP)$" 

希望幫助... :)

0

這種模式爲我工作:(.*/)*.+\.(png|jpg|gif|bmp|jpeg|PNG|JPG|GIF|BMP)$