我希望验证字符串并确保它是以下格式
"thumb_*.jpg|gif|png"
其中*是通配符,jpg | gif | png是可选的文件扩展名
这是在PHP
这可能吗?
ps:我只想要返回值为true或false
答案 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)) {
...
}