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

如何在Laravel中用一条规则同时验证整数和浮点数最大位数

Laravel 数值总位数限制验证规则

你可以通过组合系统规则和正则规则实现需求,具体代码如下:

return [
    'max_debit' => [
        'required',
        'numeric',
        'min:0',
        'regex:/^(?!\D*(\d\D*){10})\d+(?:\.\d+)?$/'
    ]
];

规则说明

  • required、numeric、min:0三个规则保证字段必填、属于合法数字、数值≥0,同时兼容整数、浮点数两种格式
  • 正则内的负向先行断言(?!\D*(\d\D*){10})限制字符串内的数字总个数不超过9位,完全匹配总位数最大限制的需求
  • 正则后半段\d+(?:\.\d+)?保证数字格式合法,支持无小数的整数、带小数的浮点数

验证效果

可通过校验的示例:

  • 1234.55(总数字位数6位)
  • 123456789(9位整数)
  • 0.12345678(总数字位数9位)

被拦截的示例:

  • 12345678.55(总数字位数10位,超出上限)
  • -100(数值为负,被min:0拦截)
  • 非数字字符串(被numeric拦截)

内容的提问来源于stack exchange,提问作者Gonçalo Bastos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:45:01