请帮助我..我被困在这里..
我真正想要的是检查密码是否重复单个字符或数字。
重复要求
aaaa = 假,
abbb = 假
abag = 假
a33f = 假
abcd1234 = 真
一个字符在密码中应该只有一次。如果重复多次,则会返回错误。很难解释。
这是我的草稿代码。
1) 首先我需要检查是否允许重复字符的全局配置,如果是,我的密码可以有重复字符或数字,否则不会。在此之后,我需要检查是否允许小写、大写或大写的全局配置。
if($globalCOnf['repeat_pass']=="yes")//allowed
{
//do nothing
}
else //not allowed
{
//stuck here :(
if(preg_match('/(.)\1{1,}/',$user_input_pass)) //only check "aaaa" not "aba"
{
echo "change password";
}
else
{
if($globalCOnf['having_lower_upper_capital']=="yes")//allowed
{
//do nothing
}
else
{
// can't continue
}
}
}
最佳答案
您可以为此使用array_count_values
(另一种无正则表达式的解决方案)
<?php
$password = 'abcdfa';
if(max(array_count_values(str_split($password)))>1)
{
echo "Choose another password as words you can't have repeatable characters";
}
输出:
Choose another password as words you can't have repeatable characters
您得到该输出是因为 a
重复了两次。
关于php - 用于检查重复字符或数字的正则表达式,检查小写、大写、大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22954004/