2012-10-23 30 views
2

我嘗試從01.JPG接受文件名與這個正則表達式來12.JPG:數REGEXP用PHP

preg_match('/^([0-1][0-2]\.jpe?g)$/i', $_FILES['Filedata']['name']) 

01.JPG,10.JPG,11.JPG,12.JPG都OK

但不是02.jpg到09.jpg !!!

感謝您的幫助!

回答

4

試試這個

'/^(0[1-9]|1[0-2])\.jpe?g$/i' 
+0

謝謝......完美! – Chris

+0

@Chris yours very welcome –

+0

這是不正確的:http://www.rubular.com/r/N7ekgP3XrH – codaddict

0

您需要:

^(0[1-9]|1[012])\.jpe?g$ 

0[1-9]需要的0102護理等等,直到09

1[012]是相同1[0-2]需要的10照顧, 1112

請小心使用()。由於|在正則表達式運營商至少優先:

^(0[1-9] 

OR

1[0-2]\.jpe?g)$ 

See it

^(0[1-9]|1[0-2]\.jpe?g)$ 

(從其他upvoted答案),因爲它是爲處理是不正確

+1

這將aceppt 01,1-9,10-12但不02 - 09. – clentfort

+0

01.jpg,10.jpg,11.jpg,12.jpg都OK 但不是02.jpg到09.jpg !!! – codaddict

+0

閱讀問題的第一行。他目前的解決方案和你的完全一樣。 – clentfort