我想验证我的密码输入是否至少包含十个字符,并且只有一个数字。但当我在我的控制器中尝试这个时,它没有起作用。那么我该怎么做呢?
$request->validate(['password' => 'required|min:10|numeric|max:9']);
此正则表达式将验证您的密码。密码必须仅包含一个数字,并且min属性验证密码的最小长度。
$request->validate(['password'=>'required|min:10|regex:/^[^dn]*d[^dn]*$/']);
您可以尝试下面的digitals_between->
$request->validate(['password' => 'required|min:10|digits_between:2,5]);
您可以组合regex和min验证:
$request->validate([
'password' => [ 'required', 'min:10', 'regex:/^[a-z]*d[a-z]*$/i' ];
]);
这需要一个最小长度为10且恰好为1的数字。如果你允许其他字符,你可以把它们放在[a-z]
组中
使用至少需要一个数字的Password规则对象。
Password::min(10)->numbers();
这是您正在寻找的验证。
$request->validate([
'password' => [
'required',
'string',
Password::min(10)
->numbers()
]
]);
此正则表达式将为您提供最强的密码。密码必须至少包含一个大写字母、小写字母和至少一个数字
'password' => ['required', 'string', 'min:10', 'regex:/(?=.*[a-z])(?=.*[A-Z])(?=.*d)[a-zA-Zd]{10,}/']