REGEX强制大写语法

Joh*_*nal 2 regex forms passwords

我正在使用jquery的验证器插件来验证我的注册表单.我为密码验证制定了自定义规则.我这样做是为了它必须遵循以下规则:
1)必须至少8个字符
2)必须包含至少1个数字
3)必须包含至少1个符号
4)必须包含至少1个大写字母

这是我的代码:小提琴

包括这个表达式:

/^(?=.*[\W])(?=.*[\d])(?=.*[A-Z]).{8,}$/i
Run Code Online (Sandbox Code Playgroud)

这强制了几乎所有上述4个策略,除了最后一个,它不强制必须至少有1个大写.我不知道为什么,我搜索所有的正则表达式文档,以确保我的语法正确.甚至这个唯一的工具告诉我我是对的:红宝石

任何想法为什么它不能正常工作?谢谢

Mar*_*der 7

i你的正则表达式的结束使得它不区分大小写.因此,您指定的每个大写字母也将匹配相应的小写字母.删除它i,它应该工作.