Laravel验证小数0-99.99

时间:2015-04-19 18:29:48

标签: 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|regex:/[\d]{0-2}.[\d]{0,2}/

我在尝试为0.05输入preg_match或未知修饰符时收到“格式无效”

regex中验证小数所需的laravel的任何帮助都是值得赞赏的(使用十进制之前或之后的可选值

4 个答案:

答案 0 :(得分:55)

规则之间的laravel(5?)总是得到它必须解析小数,你必须添加数字才能正确验证

'required|numeric|between:0,99.99',

答案 1 :(得分:40)

Laravel between验证规则实际上非常强大,也可以处理小数值。因此,没有必要使用正则表达式:

'required|between:0,99.99'

答案 2 :(得分:6)

这对我有用:

 function rules(){'field' => ['required','numeric', 'min:1','max:99.99', 'regex:/^\d+(\.\d{1,2})?$/']}

如果要自定义消息,则:

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

答案 3 :(得分:5)

这适用于允许两位小数精度的数字:

function rules(){

   return [
   'field_name'=> array('regex:/^(?:d*.d{1,2}|d+)$/','min:1','max:10')
        ]; 
}