【发布时间】:2023-03-09 18:36:02
【问题描述】:
我正在尝试构建一个正则表达式来验证我的应用程序中的密码。
这是 PCRE (php)。
到目前为止,我的正则表达式看起来像这样
/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*\(\)_\+\-\=\[\]\{\}\|'])(?=.*[^\\\/])(?=.{8,20})/
我的标准如下
minimum length: 8
maximum length: 20
require special character: true
require uppercase: true
require lowercase: true
require number: true
special character set: !@#$%^&*()_+-=[]{}|'
excluded character set: \/
除了排除的字符集外,一切正常。这个想法是密码不能包含该列表中指定的任何字符。
感谢您的帮助
【问题讨论】:
-
将
(?=.*[^\\\/])替换为(?!.*\/)。或者,删除此前瞻,并将.{8,20}替换为[^\/]{8,20}