【发布时间】:2017-02-24 20:28:14
【问题描述】:
整个上午都在尝试找出我们试图强制执行的 AD 密码限制的正则表达式模式。有什么想法吗?
- 必须至少有一个小写字符 (a-z)
- 必须至少包含一个大写字符 (A-Z)
- 必须至少有一个数字字符 (0-9)
必须至少具有以下特殊字符之一,但必须能够允许所有: ! @ # $ % ^ & * ( ) - _ + = { } [ ] | \ : ; " ' , . ? /
8 到 14 个字符长
可以是任意顺序
我已经尝试了大约 50 种组合,但特殊字符部分让我无法理解。
不幸的是,我在这里或网上找到的不包括括号特殊字符和其他一些字符。
【问题讨论】:
-
正则表达式很长而且很邪恶...将其分解为多个检查然后返回“不可接受的密码,必须至少有一个小写字符”或“不可接受的密码”更容易,必须至少有一个数字字符 ( 0-9 )' 另外,试试这个,看看这是否有效:(?=^.{8,}$)((?=.*\d)|(? =.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
-
我非常卡在特殊字符部分上,除此之外我可以处理其他所有部分
-
@siam 你是什么意思?我需要什么?它们是通用密码,只要它们包含上述每种可能性之一,就可以是任意密码
-
@chris85 我们的团队就是这样设置的,我无法控制只有前端的内容
-
我认为这会降低安全性。您可以修改 dup 上的
{8,},我认为它可以适应这种情况。
标签: javascript php regex preg-match