Laravel 的验证功能非常强大,基本上常见的需求都有对应的验证规则,对于一些的特殊的验证需求,Laravel 也提供了正则验证。
官方文档:
regex:pattern
注:使用 regex 模式时,如果正则中使用管道符 |,正则规则必须放在数组中。例如:
public function rules() {
    return [
        'username' => 'required|regex:/^[a-zA-Z0-9_-]{4,16}$/'
    ];
}
上面这个正则验证,是没有问题的(因为没有使用管道符 | ),但官方推荐的写法如下:
public function rules() {
    return [
        'username' => [
            'required',
            'regex:/^[a-zA-Z0-9_-]{4,16}$/'
        ]
    ];
}
或者这样:
public function rules() {
    return [
        'username' => [
            'required',
            'regex:/^[a-zA-Z0-9_-]{4,16}$/'
        ]
    ];
}