gpt4 book ai didi

PHP -> 正则表达式 |密码验证不起作用

转载 作者:可可西里 更新时间:2023-10-31 23:58:50 56 4
gpt4 key购买 nike

我使用这个(几乎)复杂的密码验证:

function is_password($password) {
return preg_match("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$", $password);
}

所以它必须包含:

  • 0-9 中的一个数字,
  • 一个小写字符,
  • 一个大写字符,
  • 至少 6 个字符
  • 最多 20 个字符

这似乎行不通。每当我输入某些字符时,例如 etojcb;如果允许的长度正确,该函数返回 true。所以大写字母和数字没有被验证..

我做错了什么?

最佳答案

您忘记使用 delimiters .请改用此代码:

return preg_match("/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/", $password);

或者您可以拆分每个条件并使用此代码:

return mb_strlen($password)>=6 && mb_strlen($password)<=20
&& preg_match("/[a-z]+/", $password) && preg_match("/[A-Z]+/", $password)
&& preg_match("/[0-9]+/", $password);

关于PHP -> 正则表达式 |密码验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13384008/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com