Jo *_*Smo 1 regex passwords password-protection
什么是正确的regex
,以满足以下密码标准:
!#%
.A-Za-z0-9!#%
(;
例如,不得包含).这是我试过的,但它不起作用:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[\!\#\@\$\%\&\/\(\)\=\?\*\-\+\-\_\.\:\;\,\]\[\{\}\^]).{8,32}
Run Code Online (Sandbox Code Playgroud)
但它应该是:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[\!\#\@\$\%\&\/\(\)\=\?\*\-\+\-\_\.\:\;\,\]\[\{\}\^])[A-Za-z0-9!#%]{8,32}
Run Code Online (Sandbox Code Playgroud)
但Unihedron的解决方案无论如何都更好,只是想为将来会读到这个问题的用户提及这个问题.:)
Unihedron的解决方案(也可以在下面的答案中找到,我为自己复制了它,以防他改变(将其更新为更好的版本),在他的回答中):
^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=.*?[!#%])[A-Za-z0-9!#%]{8,32}$
Run Code Online (Sandbox Code Playgroud)
我最终得到了以下内容regex
:
^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=.*?[\!\#\@\$\%\&\/\(\)\=\?\*\-\+\-\_\.\:\;\,\]\[\{\}\^])[A-Za-z0-9\!\#\@\$\%\&\/\(\)\=\?\*\-\+\-\_\.\:\;\,\]\[\{\}\^]{8,60}$
Run Code Online (Sandbox Code Playgroud)
再次感谢Unihedron和skamazin.不胜感激!
使用这个正则表达式:
/^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=[^!#%]*[!#%])[A-Za-z0-9!#%]{8,32}$/
Run Code Online (Sandbox Code Playgroud)
这是一个正则表达式演示!
阅读更多: