【发布时间】:2014-10-17 21:21:45
【问题描述】:
我在 http://www.regexr.com/ 匹配 laravel 的正则表达式验证所需的正则表达式。 验证以 jpg/gif/png 文件结尾的 url。
/(http|https):\/\/(www\.)?[\w-_\.]+\.[a-zA-Z]+\/((([\w-_\/]+)\/)?[\w-_\.]+\.(png$|gif$|jpe?g$))/ig
但是当我输入我的代码时,它会抛出一个preg_match(): No ending delimiter '/' found 错误。
这是我的验证规则
$rules = [
'title' => 'required|min:3',
'description' => 'required|min:3',
'url' => 'required|regex:/(http|https):\/\/(www\.)?[\w-_\.]+\.[a-zA-Z]+\/((([\w-_\/]+)\/)?[\w-_\.]+\.(png$|gif$|jpe?g$))/ig',
];
【问题讨论】:
-
删除
g修饰符后,您的代码对我来说可以正常工作。 -
@AvinashRaj ,我仍然遇到错误。我尝试找到相同的情况on stack overflow,但仍然遇到错误,不确定 laravel 正则表达式验证格式/语法如何工作。对它还是陌生的。我红色的文档,nth解释。
-
在你的正则表达式中使用开始和结束锚点
^(http|https):\/\/(www\.)?[\w-_\.]+\.[a-zA-Z]+\/((([\w-_\/]+)\/)?[\w-_\.]+\.(png$|gif$|jpe?g$))$ -
使用不同的分隔符比如
~
标签: php regex validation laravel match