You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel新手如何设置表单验证规则实现前两位字母后四位数字校验

Laravel 前2位字母后4位数字格式的表单验证实现方案

核心使用 Laravel 内置的 regex 验证规则配合正则表达式即可实现需求,以下是两种常用实现方式:

1. 直接写正则验证(单次使用场景)

匹配规则的正则为 ^[A-Za-z]{2}\d{4}$,其中:

  • ^ 匹配字符串开头
  • [A-Za-z]{2} 匹配前2位任意大小写英文字母
  • \d{4} 匹配后4位数字
  • $ 匹配字符串结尾,确保总长度固定为6位

在控制器中直接使用的示例代码:

public function store(Request $request)
{
    $validated = $request->validate([
        // 将your_field替换为你的实际表单字段名
        'your_field' => 'required|string|size:6|regex:/^[A-Za-z]{2}\d{4}$/',
    ], [
        // 自定义错误提示
        'your_field.regex' => '输入格式错误,需符合前2位为英文字母、后4位为数字的格式,例如AB1234'
    ]);

    // 后续业务逻辑
}

额外加size:6规则可以提前过滤长度不符合的输入,双重校验准确性更高。

2. 自定义验证规则(多场景复用)

如果多个接口/页面都需要用到这个验证规则,可封装为独立的自定义规则:

  • 运行命令生成规则类:php artisan make:rule TwoLetterFourNum
  • 编辑生成的 app/Rules/TwoLetterFourNum.php 文件:
<?php

namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

class TwoLetterFourNum implements Rule
{
    public function passes($attribute, $value)
    {
        return preg_match('/^[A-Za-z]{2}\d{4}$/', $value);
    }

    public function message()
    {
        return ':attribute 格式错误,必须为前2位英文字母、后4位数字的6位字符,示例:AB1234';
    }
}
  • 业务代码中调用规则:
use App\Rules\TwoLetterFourNum;

$validated = $request->validate([
    'your_field' => ['required', 'string', new TwoLetterFourNum],
]);

可选调整

如果要求字母必须为大写,将正则中的a-z删除即可,修改为 ^[A-Z]{2}\d{4}$。

内容的提问来源于stack exchange,提问作者waqar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:06:02