我使用这个(几乎)复杂的密码验证:
function is_password($password) {
return preg_match("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$", $password);
}
所以它必须包含:
- 0-9中的一个数字,
- 一个小写字符,
- 一个大写字符,
- 至少6个字符
- 最多20个字符
这似乎不起作用。每当我输入某些字符,如e
、t
、o
、j
、c
和b
时,如果允许的长度正确,则函数返回true。因此,未验证大写和数字。
我做错了什么?