求个正则表达式

xfreyes 2010-06-29 10:49:31
求一个用于限制密码规则的正则表达式:
要求:
1、长度6-20
2、必须同时包含大小写字母加数字
3、不包含空格(可以有其他特殊字符)
4、字符重复数不能超过3个

等高手解答,先谢谢了
...全文
106 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xfreyes 2010-07-13
  • 打赏
  • 举报
回复
多谢了,过客连我这不常来的也知道。 牛人
keystudio 2010-06-29
  • 打赏
  • 举报
回复
一个正则有点难度
两个很容易


^(?![^a-z]*$)(?![^A-Z]*$)(?![^0-9]*$)[^\s]{6,20}$

//匹配则满足1 2 3

(.)([^\1]*\1){2,}
//不匹配满足4
xfreyes 2010-06-29
  • 打赏
  • 举报
回复
多谢帮顶的 自己也顶
gs8716 2010-06-29
  • 打赏
  • 举报
回复
不知道过客是否还会来,等待……
暖枫无敌 2010-06-29
  • 打赏
  • 举报
回复
/.{6,20}/ 先计算长度
/[a-z]/
/[A-Z]/
/[0-9]/ 上面3个 正则 必须都匹配
/[^ ]/ 非空格
等待高手来解答!
BaoShiqiang 2010-06-29
  • 打赏
  • 举报
回复
帮顶。。。
sxldfang 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lxcnn 的回复:]
C# code
//同一字符不允许连续出现3个以上
^(?![^a-z]+$)(?![^A-Z]+$)(?![^0-9]+$)(?:([a-zA-Z0-9~!@#$%^&*()_+])(?!\1{2,})){6,20}$
//同一字符不允许任意位置出现3个以上
^(?![^a-z]+$)(?![^A-Z]+$)(?![^0-9]+$)(?:([a-zA-Z0-9~!@#$%^&am……
[/Quote]

还是过客了得,学习啦
sxldfang 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 keystudio 的回复:]
一个正则有点难度
两个很容易


C# code

^(?![^a-z]*$)(?![^A-Z]*$)(?![^0-9]*$)[^\s]{6,20}$

//匹配则满足1 2 3

(.)([^\1]*\1){2,}
//不匹配满足4
[/Quote]

可以分两步走,这样可简化正则,表达清晰易懂
-过客- 2010-06-29
  • 打赏
  • 举报
回复
//同一字符不允许连续出现3个以上
^(?![^a-z]+$)(?![^A-Z]+$)(?![^0-9]+$)(?:([a-zA-Z0-9~!@#$%^&*()_+])(?!\1{2,})){6,20}$
//同一字符不允许任意位置出现3个以上
^(?![^a-z]+$)(?![^A-Z]+$)(?![^0-9]+$)(?:([a-zA-Z0-9~!@#$%^&*()_+])(?!(.*\1){2,})){6,20}$


1、特殊字符随便加了一些:~!@#$%^&*()_+,根据需要自己调整
2、没仔细测试,有不符合的给出实例,另外后面如果问题目正则问题,最好给些测试用例,方便快速解答
-过客- 2010-06-29
  • 打赏
  • 举报
回复
一个正则可以做到,但规则需要先明确

3、不包含空格(可以有其他特殊字符)
其他特殊字符指哪些
4、字符重复数不能超过3个
字符重复数指什么?同一个字符不能连续出现3个以上,还是说任意位置出现3个以上就算重复
mm51221 2010-06-29
  • 打赏
  • 举报
回复
顶。。。
xfreyes 2010-06-29
  • 打赏
  • 举报
回复
来个人帮帮忙啊

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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