解码 preg_match

Decoding a preg_match

我想弄清楚我正在使用的自定义 CMS 的密码要求是什么。我找到了检查密码的代码。据我所见,这些要求是否正确? 7 - 20 个字符,可接受 aZ 和 0-9 个字符。

if (!preg_match("/^.*(?=.{7,20})(((?=.*[0-9])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]))|((?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]))|((?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9]))|((?=.*[a-z])(?=.*[0-9])(?=.*[A-Z]))).*$/",$password)) {

我建议前往 https://regex101.com。它有一个自动化工具,可以将正则表达式解析为(有点可读的)英语,并让您直接在浏览器中测试候选人。