我已被授予任务来验证密码时,其即将被更改。 该口令需要:正则表达式的密码政策不起作用
- 到最小的8个字符长
- 具有至少一个大写字母
- 具有至少一个小写字母
- 具有至少一个数字
- 具有在至少有一个特殊字符
这是我正在使用的正则表达式:
^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&+=-_]).*$
由于我不是正则表达式方面的专家,我一直在关注tutorial on Code Project(我发现它非常有帮助)。虽然我花了超过30分钟阅读教程,但我仍然无法掌握问题所在。
问题:
正则表达式查找一切,但特殊字符。我没有看到问题。
当我在寻找答案时,我碰到了derekslager.com blog,它有一个很好的测试表达式页面。
在工作中的正则表达式尝试此'((?=。* \ d)(?=。* [AZ])(?=。* [AZ])(?=。 * [@#$%])。{8,20})' – Dotnet
你在d'(?=。* \\ d)'之前有一个双反斜杠。尝试删除它,它应该工作。你的方式,你会要求你的密码包含'\ d'(字面意思)至少一次,而不是“至少一个数字” –
....我的意思是删除双反弹,只留下一个,如下所示: '(?=。* \ d)' –