有没有办法在一个正则表达式中完成 这样的校验 ?密码必须多于 15、数字、大小写字母、特殊字符组成

2019-08-22 13:01:19 +08:00
 rqxiao

特殊字符是如这样的 @#¥%……&*

2135 次点击
所在节点    程序员
12 条回复
taogen
2019-08-22 13:06:27 +08:00
一看你就是来求一个正则表达式的 🐶
enjoyCoding
2019-08-22 13:09:09 +08:00
一看你就是来求一个正则表达式的 🐶
Rwing
2019-08-22 13:10:23 +08:00
^.*(?=.{15,})((?=.*[!@#$%^&*()\-_=+{};:,<.>]){1})(?=.*\d)((?=.*[a-z]){1})((?=.*[A-Z]){1}).*$
notreami
2019-08-22 13:11:49 +08:00
根据经验,正则性能没有字符判断性能高。
seven777
2019-08-22 13:12:00 +08:00
密码复杂度真的是解决问题的方法吗?!
需要变态复杂度的密码,不知道被使用者骂过多少次了!?
rqxiao
2019-08-22 13:24:53 +08:00
@Rwing 感谢
rqxiao
2019-08-22 13:26:01 +08:00
@taogen (狗头)
rqxiao
2019-08-22 13:26:14 +08:00
@enjoyCoding (狗头)
nikandaoleshenme
2019-08-22 13:31:06 +08:00
什么? 不少于 15 位长度密码? 我的万能密码 123456 不能用了? 什么 dzt 服务?
不用了,告辞
unicloud
2019-08-22 13:39:50 +08:00
可以的
geelaw
2019-08-22 14:10:53 +08:00
用计算理论意义下的正则表达式(增加 [] 单选的快速写法)可以得到一个长度为 1338985 的表达式,它可以用这个代码生成

https://gist.github.com/GeeLaw/351fade372ae059ccf1fa83746068fb5

该表达式大概是

([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~][!-\/:-@\[-`{-~]*([A-Z]([A-Z]|[!-\/:-@\[-`{-~])*([a-z]([a-z]|[A-Z]|[!-\/:-@\[-`{-~])*[0-9]|[0-9]([0-9]|[A-Z]|[!-\/:-@\[-`{-~])*[a-z])|[a-z]([a-z]|[!-\/:-@\[-`{-~])*([A-Z]([a-z]|[A-Z]|[!-\/:-@\[-`{-~])*[0-9]|[0-9]([0-9]|[a-z]|[!-\/:-@\[-`{-~])*[A-Z])|[0-9]([ 等等等等
lxrmido
2019-08-22 14:23:16 +08:00
@geelaw 我怀疑你在发颜文字

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/594163

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX