强密码正则表达式——先行规则解释
实时调试 JavaScript 正则表达式:突出显示的匹配项、捕获组、标志和替换预览。
处理中...
0%
结果
此页面打开时会显示完全由前瞻构建的密码策略模式:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$。每个 (?=...) 都是一个零宽度检查,它会扫描整行而不消耗它:一个要求一个小写字母,一个要求一个大写字母,一个要求一个数字,一个要求一个特殊字符——只有这样 .{8,} 才会强制执行最小长度。
标志在这里很重要:m 使 ^ 和 $ 锚定到每一行而不是整个文本,而 g 找到符合条件的每一行。这将测试器变成了一个清单 - 样本包含五个候选密码,并且只有满足所有四个先行的行才会亮起。一目了然地了解为什么password123 失败(没有大写字母,没有特殊字符)而Tr0ub4dor&3 通过。
前瞻是在单个表达式中表达“必须在某处包含 X”条件的标准方法,并且此预设是学习它们的安全场所。将策略限制为 12 个以上字符,添加 (?!.*(.)\1\1) 检查三次重复,或粘贴真实候选密码列表 - 每次更改都会立即重新评估,并且您输入的任何内容都不会离开浏览器。