用JS如何检测数字密码为弱密码?
检测规则可以如下:
1)不能3位以上的数字相邻;(123895,321874)
2)不能3位以上的数字相同;(111895)
3)不能重复2组以上的数字;(898923,121212,768768)
4)不能疑似生日数字:(890207,791211)
用JS如何检测数字密码为弱密码?
检测规则可以如下:
1)不能3位以上的数字相邻;(123895,321874)
2)不能3位以上的数字相同;(111895)
3)不能重复2组以上的数字;(898923,121212,768768)
4)不能疑似生日数字:(890207,791211)
密码强度建议找一个开源的算法就行了,比如 zxcvbn:https://github.com/dropbox/zx...
let objResult = zxcvbn('your password')
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
三位以上相邻需要枚举出来
123|234|...
,建议程序循环判断三位以上数字相同
([0-9])\1{2}
重复两组以上数字
([0-9]{2,})\1
(看你提供字符都是连续重复,如果中间间隔其他字符,可以在中间加上[0-9]*
)生日数字,前面两位要看你要的范围进行决定,比如00-22或50-99
([5-9][0-9]|[01][0-9]|2[012])
月份范围01-12(0[1-9]|1[012])
日期范围([12][0-9]|0[1-9]|3[01])
以上四点用四条分别判断
另外,我之前写了一个数字范围生成正则表达式的,可以使用一下:数字范围生成正则表达式