这里是文章模块栏目内容页
thinkphp6 验证密码必须包含特殊字符大小写字母和数字组合

thinkphp6 内置验证规则并未提供此验证需求;

还好,框架本身支持正则表达式验证功能

所以可以这样写 验证password字段的值是否满足要求:

 //统一验证密码复杂度//密码必须包含大小写字母/数字/符号任意两者组合
try{
  validate([
  'password'=> ['regex'=>
   '/^(?![A-Za-z0-9]+$)(?![a-z0-9\W]+$)(?![A-Za-z\W]+$)(?![A-Z0-9\W]+$)[a-zA-Z0-9\W]{6,}$/']],
   
   ['password.regex'=> '密码必须包含大小写字母、数字和特殊字符']
   
   ) ->check(['password'=> $this->request->post("password")]);
   
}catch (ValidateException $e) {
            // 验证失败 输出错误信息
  return json(['error' => 1, 'status' => 0, 'msg' => $e->getError()]);
}

好了,本文内容全部结束,感谢你的阅读,希望能对你有所帮助。