求个密码的正则表达式,输入的字符串必须包含大写字母、小写字母、数字3种类型,并且在7位数以上。

basehello 2013-09-17 05:58:33
字符串由大写字母、小写字母、数字组成,并且在7位数以上很容易。但字符串必须包含大写字母、小写字母、数字3种类型这个怎么弄?
...全文
1364 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppsniffer 2014-07-10
  • 打赏
  • 举报
回复
只要包含大写,小写,数字就OK
ppsniffer 2014-07-10
  • 打赏
  • 举报
回复
/^.*(([A-Z]+.*(([a-z]+.*[0-9]+.*)|([0-9]+.*[a-z]+.*)))|([a-z]+.*(([A-Z]+.*[0-9]+.*)|([0-9]+.*[A-Z]+.*)))|([0-9]+.*(([A-Z]+.*[a-z]+.*)|([a-z]+.*[A-Z]+.*)))).*$/
KsonJsy 2013-09-18
  • 打赏
  • 举报
回复
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{7,}$
q107770540 2013-09-18
  • 打赏
  • 举报
回复
update: ^(?![a-z]+$)(?![A-Z]+$)(?!\d+$)(?![a-zA-Z]+$)(?![a-z0-9]+$)(?![0-9A-Z]+$)[a-zA-Z0-9]{7,}$
KsonJsy 2013-09-18
  • 打赏
  • 举报
回复
引用 12 楼 q107770540 的回复:
[quote=引用 楼主 basehello 的回复:] 字符串由大写字母、小写字母、数字组成,并且在7位数以上很容易。但字符串必须包含大写字母、小写字母、数字3种类型这个怎么弄?
这个要用排除法: ^(?![a-z]+$)(?![A-Z]+$)(?!\d+$)[a-zA-Z0-9]{7,}$[/quote]这个不满足字符串必须包含大写字母、小写字母、数字3种类型,即都要一个这个条件“11111WW1”都可以匹配,这个只满足一个字母,一个数字,
KsonJsy 2013-09-18
  • 打赏
  • 举报
回复
^(?=[a-zA-Z0-9]{0,}\d{1,})(?=[a-zA-Z0-9]{0,}[a-z]{1,})(?=[a-zA-Z0-9]{0,}[A-Z]{1,}).{7,14}$ 试试这个
q107770540 2013-09-18
  • 打赏
  • 举报
回复
引用 楼主 basehello 的回复:
字符串由大写字母、小写字母、数字组成,并且在7位数以上很容易。但字符串必须包含大写字母、小写字母、数字3种类型这个怎么弄?
这个要用排除法: ^(?![a-z]+$)(?![A-Z]+$)(?!\d+$)[a-zA-Z0-9]{7,}$
KsonJsy 2013-09-18
  • 打赏
  • 举报
回复
引用 8 楼 basehello 的回复:
[quote=引用 7 楼 caozhy 的回复:] 其余5种按照这个类似的写好,最后用 | 连起来。
不会写。找了个现成的 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{7,14}$[/quote]你这个也不行啊,星号代表的是任意的,比如“多久eeeewwW1”这个也是匹配的密码
KsonJsy 2013-09-17
  • 打赏
  • 举报
回复
额,你的是对的,后面那个*不要了
KsonJsy 2013-09-17
  • 打赏
  • 举报
回复
^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{7,16}$
basehello 2013-09-17
  • 打赏
  • 举报
回复
引用 7 楼 caozhy 的回复:
其余5种按照这个类似的写好,最后用 | 连起来。
不会写。找了个现成的 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{7,14}$
threenewbee 2013-09-17
  • 打赏
  • 举报
回复
其余5种按照这个类似的写好,最后用 | 连起来。
threenewbee 2013-09-17
  • 打赏
  • 举报
回复
文章没有仔细看,但是后面我思路已经说了匹配这六种排列组合的并集 比如第一种 大写小写数字 [^A-Z]*[A-Z]+[^a-z]*[a-z]+[^0-9]*[0-9]+.*
threenewbee 2013-09-17
  • 打赏
  • 举报
回复
引用 3 楼 basehello 的回复:
[quote=引用 1 楼 caozhy 的回复:] http://hi.baidu.com/freely568/item/15015308742c428b03ce1bac
版主太不负责了。我前面可能没说清楚,我指的是字符串不仅仅由大写字母、小写字母、数字3种类型组成,并且字符串中至少包含一个大写字母、小写字母、数字。[/quote] 是啊。我就是这个意思啊。
basehello 2013-09-17
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
好吧,看了下,也没有什么高明的。 思路就是排列组合:大写小写数字 或 小写大写数字 或 大写数字小写 或 数字大写小写 或小写数字大写 或数字小写大写
这个不行啊,比如字符串是R1a1R1a怎么弄?感觉这问题没办法用正则表达式来写。
basehello 2013-09-17
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
http://hi.baidu.com/freely568/item/15015308742c428b03ce1bac
版主太不负责了。我前面可能没说清楚,我指的是字符串不仅仅由大写字母、小写字母、数字3种类型组成,并且字符串中至少包含一个大写字母、小写字母、数字。
threenewbee 2013-09-17
  • 打赏
  • 举报
回复
好吧,看了下,也没有什么高明的。 思路就是排列组合:大写小写数字 或 小写大写数字 或 大写数字小写 或 数字大写小写 或小写数字大写 或数字小写大写
threenewbee 2013-09-17
  • 打赏
  • 举报
回复
http://hi.baidu.com/freely568/item/15015308742c428b03ce1bac

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧