laravel regex:00 am-amam

时间:2016-03-22 13:56:18

标签: php regex laravel-5

我正在研究laravel 5.2,我需要验证一个领域(time_slot)。

Schema::create('booking', function (Blueprint $table) {
       /// other feilds
        $table->string('time_slot');
       /// other feilds
    });

在请求中,我已经声明了验证它的规则。

    public function rules()
{
    $rules = [
          //other rules
        'time_slot' => 'required|Regex:/^[0-9am-pm\-]+$/',
    ];
    return $rules;
}

我正在寻找一个只接受下面给出的值的正则表达式:

[digit][digit][am or pm]-[digit][digit][am or pm]

示例10 pm-11pm ..两位数的组合必须在下面给出的范围内。

[00,01,02,03,04,05,06,07,08,09,10,11,12]

需要帮助来创建这种RegeX .. 谢谢!

2 个答案:

答案 0 :(得分:2)

请记住,小时数不能超过12小时。

正则表达式: ^([0][0-9]|[1][012])(am|pm)-([0][0-9]|[1][012])(am|pm)$

<强> Regex101 Demo

答案 1 :(得分:0)

选中此regex

$rules = [
    'time_slot' => 'required|Regex:/([0-9]{2})(am|pm)-([0-9]{2})(am|pm)/',
];