【发布时间】:2018-05-24 08:10:24
【问题描述】:
我想防止用户在整个用户名或密码字段中使用重复的一个字母或任何其他字符来通过 PHP 注册新用户。 我在 google 和 regex wiki 以及 stackoverflow 和 regex101 中搜索,但找不到我的答案。
用户名和密码字符的最小长度为 8。
规则:
用于注册新用户的用户名或密码字段 11111111,111111111111,22222222,222222222222,...,aaaaaaaa,aaaaaaaaaaaa,bbbbbbbb,...,zzzzzzzz,...@@@@@@@@,******** ,&&&&&&&&... 应该是无效的 但 11111113,22222221,...,aaaaaaab,baaaaaaa,...,zzzczzzz,...@@@1@@@@,2******* ,&&&&&n&&... 应该是有效的。
我发现了这种模式,但不起作用并有警告:
pattern1: ^(?!.*(.)\1).{*}$
pattern2: ^(.)\1{1,}$
警告是这样的:
警告:preg_match():在第 70 行的 C:...\test.php 中找不到结束分隔符 '^'
请帮我解决这个问题。
这篇文章不是我的答案,也不起作用:
match the same unknown character multiple times
Perl Regex prevent repeated characters for password policy
更新:
感谢 panter.it 有效==>~^(.)\1{1,}$~
感谢太阳能。你的建议很好。
【问题讨论】:
-
你的代码在哪里?请显示它,以及出了什么问题和东西