有人可以向我解释以下两个功能之间的区别(如果有的话)吗?很长一段时间以来,我一直在使用第一个来验证密码。做了一点阅读我的头现在告诉我第二个功能完全一样吗?
preg_match("/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6,}$/", $string);
重写:
preg_match("/[a-zA-Z0-9]{6,}/", $string);
任何解释表示赞赏。
有人可以向我解释以下两个功能之间的区别(如果有的话)吗?很长一段时间以来,我一直在使用第一个来验证密码。做了一点阅读我的头现在告诉我第二个功能完全一样吗?
preg_match("/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6,}$/", $string);
重写:
preg_match("/[a-zA-Z0-9]{6,}/", $string);
任何解释表示赞赏。
/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{6,}$/
- 6 个字符,至少包含一个数字、大写和小写
/[a-zA-Z0-9]{6,}/
- 6 个或更多字符的子字符串,必须是大写、小写或数字
aA1___
仅与第一个匹配111111
仅与第二个匹配请注意,执行更强的规则可能会导致密码更弱 - xkcd