首页 > 解决方案 > Laravel 验证用户名不能以特定字符串开头

问题描述

我想注册用户,但我想在用户名上设置验证规则,即用户名不应以特殊字符开头,也不应以web.我发现正则表达式可以正常工作的特殊字符但检测到它给我无效格式错误的字符串

return [
          'username' => [
                    'required',
                    'regex:/^\S*$/u',
                    'regex:/^[_]?[a-zA-Z0-9]+([_.-]?[a-zA-Z0-9])*$/',
                    'unique:users'
                ],
          'full_name' => 'required',
       ];

标签: phplaravellaravel-5

解决方案


尝试这个?

 return [
          'username' => [
                    'required|
                     not_regex:/^[web_-][a-z_\-0-9]*/i|
                     regex:/^[A-Za-z_ \-0-9]+$/u|
                    unique:users'
                ],
          'full_name' => 'required',
       ];

推荐阅读