【发布时间】:2016-12-03 10:38:47
【问题描述】:
我的 Laravel 5 应用中有以下代码:
public function store(Request $request){
$this->validate($request, ['filename' => 'regex:[a-zA-Z0-9_\-]']);
}
我的意图是允许文件名中包含只有字母数字字符、破折号和下划线。但是,我的正则表达式不起作用,即使在一个字母上也失败了。我做错了什么?
【问题讨论】:
-
试试
'regex:/^[a-zA-Z0-9_-]*$/'或只是'regex:/^[\w-]*$/'。 -
@WiktorStribiżew 它有效!谢谢,但我的错误是什么?
-
重点是整个字符串都应该匹配。
-
记录在案的错误是缺少模式分隔符 (
/.../) 和锚点 (^...$)。
标签: php regex laravel laravel-5 laravel-validation