使用PHP编号REGEX

时间:2012-10-23 11:51:19

标签: php regex numbers

我尝试使用此正则表达式接受01.jpg到12.jpg的文件名:

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

01.jpg,10.jpg,11.jpg,12.jpg没关系

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

试试这个

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

答案 1 :(得分:0)

你需要:

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

0[1-9]负责0102等等,直至09

1[012]相同的

1[0-2]负责101112

请注意()的使用。由于|在正则表达式运算符中的优先级最低:

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

(来自其他upvoted答案)不正确,因为它被视为:

^(0[1-9] 

OR

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

See it