php - 用于检查重复字符或数字的正则表达式,检查小写、大写、大写

标签 php regex

请帮助我..我被困在这里..

我真正想要的是检查密码是否重复单个字符或数字。

重复要求

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/

相关文章:

c# - 正则表达式匹配所有字符直到到达字符,但也包括最后一个匹配

regex - 将 NFA 转换为正则表达式

javascript - 匹配任何字符串的正则表达式,最多为 "/"Javascript

java - 正则表达式如果行不包含关键字

php - 存储过程在下一个查询中导致 "Commands out of sync"

php - jQuery 自动填充表单无法工作

php - 如何将 Google 搜索结果重定向到动态网页?

php - 无法使用 PHP MySQL 登录

c# - 如何验证输入是否包含有效的 .Net 正则表达式?

php - 当使用 php exec() 运行 shell 脚本时,一个脚本可以工作(只执行 git status)而另一个不可用(执行 git checkout)。怎么会?