Laravel 时间正则表达式

Posted

技术标签:

【中文标题】Laravel 时间正则表达式【英文标题】:Laravel Time regex 【发布时间】:2014-05-16 14:58:10 【问题描述】:

使用格式为时间的正则表达式:H:M:S。 (00:00:00)

'Time' => 'regex:/^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)$/',

但出现错误:preg_match(): No ending delimiter '/' found

【问题讨论】:

工作正常:regex101.com/r/cN5qH8。也许您需要删除'regex:' 部分 当使用正则表达式模式时,可能需要在数组中指定规则而不是使用管道分隔符,尤其是当正则表达式包含管道字符时。 【参考方案1】:

使用date_format 验证规则要容易得多。

例如

'timeField' => 'required|date_format:H:i',

【讨论】:

【参考方案2】:

使用数组代替字符串,用管道作为分隔符:

'Time' => array('regex:/^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)$/'),

【讨论】:

以上是关于Laravel 时间正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4.2 正则表达式路由约束,失败

Laravel 请求验证正则表达式,不需要

Laravel 规则和正则表达式 (OR) 运算符的问题

Laravel - 使用正则表达式仅验证字母、数字和空格

Laravel 验证正则表达式,视图中断

工作正则表达式在 laravel 验证中不起作用