Laravel 5.2 中的正则表达式验证
Regex Validation in Laravel 5.2
以下是我的密码规则:
return [
'Password' => 'required|min:8|max:100|regex:[a-z{1}[A-Z]{1}[0-9]{1}]',
'Password_confirmation' => 'required|min:8|max:100|regex:[a-z{1}[A-Z]{1}[0-9]{1}]',
];
我正在尝试添加必须具有的规则
- atleast one small char
- atleast one big char
- atleast one number
- atleast one special char
- min 8 chars
我在 regex 测试器软件 上试过了 required|confirmed|min:8|max:100|regex:/^[\w]{1,}[\W]{1,}$/
。但不确定为什么它在 Laravel
中不起作用
我是不是漏掉了什么?
使用:
return [
'password' => [
'required',
'confirmed',
'min:8',
'max:50',
'regex:/^(?=.*[a-z|A-Z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/',
]
];
首先,您不需要单独查看确认。只需使用 confirmed
规则。
您使用的表达式无效,与您想要的无关。我确实建议您对正则表达式执行 some research。
由于上面显示的表达式使用管道(|
),您可以使用数组指定规则。
编辑:您也可以使用 this expression,它似乎已经过更彻底的测试。
/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/
您可能需要查看 PasswordStrengthPackage。它注册了新的验证规则,可以满足您的需要,并且比正则表达式更具可读性。所以在你的情况下你可以这样:
return [
'Password' => 'required|min:8|max:100|case_diff|numbers|letters|symbols|confirmed'
];
只要确认值存在并且您为 Password
字段添加 confirmed
规则,就不需要 Password_confirmation
规则。
以下是我的密码规则:
return [
'Password' => 'required|min:8|max:100|regex:[a-z{1}[A-Z]{1}[0-9]{1}]',
'Password_confirmation' => 'required|min:8|max:100|regex:[a-z{1}[A-Z]{1}[0-9]{1}]',
];
我正在尝试添加必须具有的规则
- atleast one small char
- atleast one big char
- atleast one number
- atleast one special char
- min 8 chars
我在 regex 测试器软件 上试过了 required|confirmed|min:8|max:100|regex:/^[\w]{1,}[\W]{1,}$/
。但不确定为什么它在 Laravel
我是不是漏掉了什么?
使用:
return [
'password' => [
'required',
'confirmed',
'min:8',
'max:50',
'regex:/^(?=.*[a-z|A-Z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/',
]
];
首先,您不需要单独查看确认。只需使用 confirmed
规则。
您使用的表达式无效,与您想要的无关。我确实建议您对正则表达式执行 some research。
由于上面显示的表达式使用管道(|
),您可以使用数组指定规则。
编辑:您也可以使用 this expression,它似乎已经过更彻底的测试。
/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/
您可能需要查看 PasswordStrengthPackage。它注册了新的验证规则,可以满足您的需要,并且比正则表达式更具可读性。所以在你的情况下你可以这样:
return [
'Password' => 'required|min:8|max:100|case_diff|numbers|letters|symbols|confirmed'
];
只要确认值存在并且您为 Password
字段添加 confirmed
规则,就不需要 Password_confirmation
规则。