正则表达式验证图像文件名

时间:2010-02-01 04:52:46

标签: php regex image

我希望验证字符串并确保它是以下格式

"thumb_*.jpg|gif|png"

其中*是通配符,jpg | gif | png是可选的文件扩展名

这是在PHP

这可能吗?

ps:我只想要返回值为true或false

2 个答案:

答案 0 :(得分:4)

$valid = preg_match('~^thumb_.*\.(jpg|gif|png)$~', $filename) != 0;

或者,如果您真的希望扩展名是可选的:

$valid = preg_match('~^thumb_.*(\.(jpg|gif|png))?$~', $filename) != 0;

编辑:根据Am对Cletus回答的评论,您可能希望限制通配符以避免匹配斜杠:

$valid = preg_match('~^thumb_[^/]*\.(jpg|gif|png)$~', $filename) != 0;

答案 1 :(得分:0)

if (preg_match('/^thumb_.*?\.(jpg|gif|png)$/i', $filename)) {
  ...
}