gpt4 book ai didi

php - Preg_match 用于所有特殊字符,密码检查

转载 作者:可可西里 更新时间:2023-10-31 23:52:29 25 4
gpt4 key购买 nike

好的,我正在为我们的密码策略编写一个密码检查器,它需要 4 个主要分类中的 3 个。我遇到问题的地方是特殊字符匹配。

这是我目前所拥有的:

private function PasswordRequirements($ComplexityCount) {
$Count = 0;
if(preg_match("/\d/", $this->PostedData['password']) > 0) {
$Count++;
}
if(preg_match("/[A-Z]/", $this->PostedData['password']) > 0) {
$Count++;
}
if(preg_match("/[a-z]/", $this->PostedData['password']) > 0) {
$Count++;
}
// This is where I need help
if(preg_match("/[~`!@#$%^&*()_-+=\[\]{}\|\\:;\"\'<,>.]/", $this->PostedData['password']) > 0) {
$Count++;
}

if($Count >= $ComplexityCount) {
return true;
} else {
return false;
}
}

所以基本上我所做的是检查每个大小写、数字、大写、小写和特殊字符的字符串。我们对任何特殊字符没有任何限制,我也需要 unicode 字符。\W 在这种情况下有效还是会再次包含数字?我在\W 上找不到很好的文档,所以我不清楚这部分。

有谁知道一个简单的正则表达式可以涵盖所有不包含数字和字母的特殊字符和 unicode 字符?

任何人都可以免费使用它,因为我认为不止一些人一直在寻找它。

最佳答案

此模式将允许所有非数字或 a-Z 的字符。

[^\da-zA-Z]

关于\W,它是一个否定的\w,与[A-Za-z0-9_]相同。因此 \W 将是所有非英文字母、数字或下划线的字符。

正如我在评论中提到的 this is a great resource用于学习正则表达式。这是一个很好的网站 test the regex .

关于php - Preg_match 用于所有特殊字符,密码检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8053837/

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