Php 检查用户名是否包含laravel 5.3中的数字和字母?
我想检查用户名是否同时包含字母和数字。我试图使用Php 检查用户名是否包含laravel 5.3中的数字和字母?,php,laravel-5,Php,Laravel 5,我想检查用户名是否同时包含字母和数字。我试图使用alpha_num protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required', 'username' => 'required|alpha_num', 'password' => 'min:6|required', ]); } 但它不起作用。 请帮我
alpha_num
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required',
'username' => 'required|alpha_num',
'password' => 'min:6|required',
]);
}
但它不起作用。
请帮我解决这个问题。alpha_num过滤器只检查用户名是否只包含字母和数字,而不检查两者是否都存在 根据您的需要,有两个正则表达式可以验证用户名 如果你想要(至少)一个字母和一个数字以及其他任何东西
和1a]-/*+
将通过此测试aaaaaa 1
和1-\%
将无法通过测试a
和1111111a
将通过此测试aaaaaaaa 1
和1a-
将无法通过测试a
一旦有了正则表达式,就需要创建一个自定义验证器。请在此处查看文档:如果希望输入不是数字,可以尝试 'name'=>'必需|正则表达式:/^[\pL\s-]+$/u |最大值:255' 如果希望它是字母数字,则:
'name'=>'必填| string | max:255',是否需要用户名以遵循特定模式?或者只是检查它是否包含字母和数字?我只想检查它是否包含至少一个字母和一个数字。比如John123,而不是John123。将Crozet提到的自定义验证与此答案中的正则表达式结合起来:“不起作用”是什么意思?构成非工作状态的是什么?
if (preg_match('/[A-Za-z]/', $myString) && preg_match('/[0-9]/', $myString))
{
echo 'Contains at least one letter and one number';
}
if (preg_match('/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/', $myString))
{
echo 'Contains at least one letter and one number and only alphanum';
}