'^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]+$', 'password' => '/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,20}$/' ]; protected $rule = [ 'channel' => 'require', 'account' => 'require|unique:' . User::class . '|checkAccount', 'password' => 'require|length:6,20|regex:password', ]; protected $message = [ 'channel.require' => '注册来源参数缺失',//注册来源参数缺失 'account.require' => '请输入账号',//请输入账号 'account.unique' => '账号已存在',//账号已存在 'password.require' => '请输入密码',//请输入密码 'password.length' => '密码须在6-20位之间',//密码须在6-20位之间 'password.regex' => '密码须为字母数字组合',//密码须为字母数字组合 ]; /** * @notes 校验注册 * @param $buy * @param $rule * @param $data * @return bool|string * @author BD * @date 2024/02/22 10:54 */ protected function checkAccount($account, $rule, $data) { $login_way = $data['login_way'];//0邮箱1手机号 $mobile_pattern = '/^\d{6,20}$/'; if($login_way == 0){ if(!filter_var($data['account'], FILTER_VALIDATE_EMAIL)){ return '请输入正确的邮箱地址'; } }elseif($login_way == 1){ if(!preg_match($mobile_pattern, $data['account'])){ return '请输入正确的手机号'; } }else{ return '参数异常'; } return true; } }