【发布时间】:2011-01-06 06:30:01
【问题描述】:
\A(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{6,}\z
(这来自于 JGSoft 风格的正则表达式)。
基本上,这个正则表达式的目标是:“密码复杂度 测试输入是否包含 6 个或更多字符。 输入必须至少包含一个大写字母、一个小写字母和一个数字。”
因此,可以按任意顺序排列三个组(首先是大写字母,然后是非大写字母,然后是数字)。 \A 匹配字符串的开头,\z 匹配字符串的结尾。我对 (?= 部分感到困惑。它应该是一个积极的前瞻。我不明白这个正则表达式是如何让你以任何顺序输入密码字符的。
【问题讨论】:
标签: regex