2

我尝试使用此 regexp 接受从 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 !!!

谢谢你的帮助 !

4

2 回答 2

4

尝试这个

 '/^(0[1-9]|1[0-2])\.jpe?g$/i'
于 2012-10-23T11:54:14.953 回答
0

你需要:

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

0[1-9]照顾0102依此类推,直到09

1[012]这与1[0-2]照顾10,1112

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

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

(来自另一个赞成的答案)是不正确的,因为它被视为:

^(0[1-9] 

或者

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

看见

于 2012-10-23T11:55:04.700 回答