求大家帮忙写个密码正则,谢谢

[复制链接]
查看11 | 回复8 | 2021-1-27 06:32:07 | 显示全部楼层 |阅读模式
求大家帮忙写个正则,谢谢。
密码必须在字母和数字和连字符(-)下划线(_)四种中必须有三种组合,总长度在6-16位。
四种字符必须有三种出现就行。
记得带上解释,新手学习,谢谢

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
https://blog.csdn.net/BrianWey/article/details/82716186
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
引用1楼ManBOyyy的回复:https://blog.csdn.net/BrianWey/article/details/82716186
能写个这样的规则吗?我想好久没写出来
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
/^((?=.*[a-z])(?=.*\d)(?=.*\-)|(?=.*[a-z])(?=.*\d)(?=.*_)|(?=.*[a-z])(?=.*\-)(?=.*_)|(?=.*\d)(?=.*\-)(?=.*_))[\w\-]{6,16}$/i.test(str)
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
引用3楼天际的海浪的回复:/^((?=.*[a-z])(?=.*\d)(?=.*\-)|(?=.*[a-z])(?=.*\d)(?=.*_)|(?=.*[a-z])(?=.*\-)(?=.*_)|(?=.*\d)(?=.*\-)(?=.*_))[\w\-]{6,16}$/i.test(str)
太感谢了,这下思维顿时开阔了
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
引用2楼恼火的昵称的回复:Quote: 引用1楼ManBOyyy的回复:
https://blog.csdn.net/BrianWey/article/details/82716186

能写个这样的规则吗?我想好久没写出来

你不就是想不通四種組合必須要三種組合以上是不是這個意思,你可以拆開來啊,首先第一步定義一個變量inta=0;,先字母是否存在,如果存在a=a+1,然後數字是否存在,存在a=a+1;其他也是一樣,如果大於或者等於3,還有判斷多少個字符6引用4楼恼火的昵称的回复:Quote: 引用3楼天际的海浪的回复:
/^((?=.*[a-z])(?=.*\d)(?=.*\-)|(?=.*[a-z])(?=.*\d)(?=.*_)|(?=.*[a-z])(?=.*\-)(?=.*_)|(?=.*\d)(?=.*\-)(?=.*_))[\w\-]{6,16}$/i.test(str)

太感谢了,这下思维顿时开阔了

你要測試一下,多測試,你才開闊
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
引用4楼恼火的昵称的回复:Quote: 引用3楼天际的海浪的回复:
/^((?=.*[a-z])(?=.*\d)(?=.*\-)|(?=.*[a-z])(?=.*\d)(?=.*_)|(?=.*[a-z])(?=.*\-)(?=.*_)|(?=.*\d)(?=.*\-)(?=.*_))[\w\-]{6,16}$/i.test(str)

太感谢了,这下思维顿时开阔了

这种四选三的情况只有四种组合,还可以只用一条正则来完成。
如果是五选三的情况的话,能组合的就太多了,就需要分开判断,累加计数了。

回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
引用7楼天际的海浪的回复:Quote: 引用4楼恼火的昵称的回复:
Quote: 引用3楼天际的海浪的回复:
/^((?=.*[a-z])(?=.*\d)(?=.*\-)|(?=.*[a-z])(?=.*\d)(?=.*_)|(?=.*[a-z])(?=.*\-)(?=.*_)|(?=.*\d)(?=.*\-)(?=.*_))[\w\-]{6,16}$/i.test(str)

太感谢了,这下思维顿时开阔了

这种四选三的情况只有四种组合,还可以只用一条正则来完成。
如果是五选三的情况的话,能组合的就太多了,就需要分开判断,累加计数了。

只用一条正则来完成如何写?
回复

使用道具 举报

千问 | 2021-1-27 06:32:07 | 显示全部楼层
引用8楼恼火的昵称的回复:Quote: 引用7楼天际的海浪的回复:
Quote: 引用4楼恼火的昵称的回复:
Quote: 引用3楼天际的海浪的回复:
/^((?=.*[a-z])(?=.*\d)(?=.*\-)|(?=.*[a-z])(?=.*\d)(?=.*_)|(?=.*[a-z])(?=.*\-)(?=.*_)|(?=.*\d)(?=.*\-)(?=.*_))[\w\-]{6,16}$/i.test(str)

太感谢了,这下思维顿时开阔了

这种四选三的情况只有四种组合,还可以只用一条正则来完成。
如果是五选三的情况的话,能组合的就太多了,就需要分开判断,累加计数了。

只用一条正则来完成如何写?

我发的那个不就是只用一条正则的么。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行