Regex Laravel验证十进制0-99.99

Regex Laravel验证十进制0-99.99,regex,validation,laravel-5,decimalformat,Regex,Validation,Laravel 5,Decimalformat,Laravel没有对decimal进行验证,因此我需要regex或其他验证方法来验证0-99.99 我试过了 required|regex:^\d{0,2}(\.\d{1,2})?$/ required|regex:[1-9]\d?(\.\d\d?)?|0\.[1-9]\d?||0\.0[1-9] required|regex:/[1-9]\d?(\.\d\d?)?|0\.[1-9]\d?||0\.0[1-9]/ required|regex:/[\d]{2}.[\d]{2}/ required

Laravel没有对
decimal
进行验证,因此我需要
regex
或其他验证方法来验证
0-99.99

我试过了

required|regex:^\d{0,2}(\.\d{1,2})?$/
required|regex:[1-9]\d?(\.\d\d?)?|0\.[1-9]\d?||0\.0[1-9]
required|regex:/[1-9]\d?(\.\d\d?)?|0\.[1-9]\d?||0\.0[1-9]/
required|regex:/[\d]{2}.[\d]{2}/
required|regex:/[\d]{0-2}.[\d]{0,2}/
在尝试输入
0.05
preg\u match


非常感谢使用
regex
验证
laravel
中的十进制所需的任何帮助(在十进制之前或之后使用可选值),laravel
between
验证规则实际上非常强大,也可以处理十进制值。因此不需要使用regex,只需执行以下操作:

'required|between:0,99.99'

这将适用于允许两个十进制精度的数字:

function rules(){

   return [
   'field_name'=> array('regex:/^(?:d*.d{1,2}|d+)$/','min:1','max:10')
        ]; 
}
laravel(5?)between规则总是得到它必须解析一个小数,您必须向它添加数字才能正确验证

'required|numeric|between:0,99.99',
这对我很有用:

 function rules(){'field' => ['required','numeric', 'min:1','max:99.99', 'regex:/^\d+(\.\d{1,2})?$/']}
如果要自定义消息,请执行以下操作:

public function messages()
   {
       return [
        'field.regex' => 'custom your message'
      ];
   }

你确定
between:0,99.99
不起作用吗?是的,我想我是想得太多了……网站上的演示值从来没有使用过十进制,所以我从来没有想过在0.5延迟回复时检查这个失败,但你可以尝试
required | numeric | between:0.00,99.99',
真正让我起作用的是我的AJAX请求是一个字符串&I为了正确地验证为数字,我必须在验证之前将其转换为浮点数:
$request->merge(['inputName'=>(float)$request->input('inputName')];
required | numeric | 0.019999.99
注意:基于'between'代码:github.com/laravel/framework/blob/5.8/src/illighted/validate‌​ion/…您没有验证十进制位置的实际数量,只是数字在两个实数之间:0和9999.9900000…如果您尝试验证9999.981,它将被接受(并且可能在之后四舍五入到9999.98),但是如果您尝试使用9999.991,它将失败。在这种情况下不起作用['nullable'、'between:199999999.99'、'regex://^(?=.+)(?:[1-9]\d*|0)?(?:\.\d+?$/')效果很好