我有正则表达式可以测试以下规则,
- 密码必须至少有一个字符。
- 密码必须至少有一个数字。
- 密码必须至少包含一个字母数字字符。(应允许多于一个)
我的尝试是这样的,
/^([a-zA-Z+]+[0-9+]+[!@#$%^&*])$/
这在大多数情况下都可以正常工作,除非我添加了一个以上的字母数字字符。
测试
- 测试【qwer1234】结果【无效】结论【通过】
- 测试 [qwer1234$] 结果 [有效] 结论 [通过]
- 测试[qwer1234#$]结果[无效]结论[失败]
最后一个测试应该通过,但它失败了。我知道哪里出了问题,但无法掌握正则表达式的魔力。我对错误的想法是,
[0-9+] // This + sign shows that you can have more then 1 of that range of numerics
在哪里,
[!@#$%^&*] // Does not have the + sign
我试过,
[!@#$%^&*+] // Does not have the + sign
[!@#$%^&*]+ // Does not have the + sign
两者都没有工作。我错过了什么?