我正在使用jquery的验证器插件来验证我的注册表单。我为密码验证制定了自定义规则。我这样做是为了它必须遵循以下规则:
1)必须至少8个字符
2)必须至少包含1个数字
3)必须至少包含1个符号
4)必须包含至少1个大写字母
这是我的代码:fiddle
包括这个表达式:
/^(?=.*[\W])(?=.*[\d])(?=.*[A-Z]).{8,}$/i
除了最后一个之外,这几乎强制执行了上述所有4个策略,它不强制必须至少有1个大写。我不知道为什么,我搜索所有的正则表达式文档,以确保我的语法正确。甚至这个唯一的工具告诉我我是对的:ruby
为什么它不能正常工作的任何想法?感谢
答案 0 :(得分:7)
正则表达式末尾的i
使其不区分大小写。因此,您指定的每个大写字母也将匹配相应的小写字母。删除i
,它应该有效。