Laravel Regex验证(文本最终应为.jpg或.png)

时间:2016-01-25 07:29:41

标签: regex validation laravel laravel-5

我有一个像这样的laravel验证规则

public function rules(){
   return [
            'title' => 'required|max:100',
            'featured_image' => 'required|max:100|regex:(\d)+.(?:jpe?g|png|gif)',

        ];
}

我有一个txt字段,我动态添加图像名称,如下所示(8123123123.jpg OR 234234234.png)。如果文本字段没有此模式,我想显示错误。

现在这个正则表达式在http://regexr.com/中起作用,但在laravel中它并没有。所以基本上应该将数字作为文件名查找,并以.jpg或.png

结尾

感谢任何帮助

2 个答案:

答案 0 :(得分:1)

像这样使用

'featured_image' => ['required', 'max:100', 'regex:/(\d)+.(?:jpe?g|png|gif)/']

您必须添加正则表达式分隔符http://php.net/manual/en/regexp.reference.delimiters.php

答案 1 :(得分:0)

根据docs,你应该将你的验证放在一个数组中:

regex:pattern
  

验证字段必须与给定的正则表达式匹配。

     

注意:使用正则表达式模式时,可能需要在数组中指定规则而不是使用管道分隔符,尤其是在正则表达式包含管道符时。