正则表达式验证密码必须由大小写字母、数字、特殊字符组成

 我来答
新科技17
2022-06-30 · TA获得超过5842个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:72.4万
展开全部

今天老板要求我们网站密码规则必须包含大写字母小写字母,数字和特殊字符,且长度大于8位,30天未登陆锁定账号,35天必须修改密码,且最近12次密码不能相同。

下面介绍一下我是怎么验证密码复杂度验证的,什么超期锁定,修改密码的,对比一下上次登陆或修改的时间就OK啦。

密码复杂度验证分两部分,第一部分是验证是否包含四种不同类型的字符,第二部分就是限制长度大于8,下面我们就来实现吧,我们用正则表达式来验证:
首先,验证是否包含不同类型的字符,我首先想到的是正向肯定预查表达式 (?=pattern) ,这个式子的作用是:

由此我们就得到了第一部分的验证表达式:
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_])/
上面的正则意思是至少要有一个大写字母一个小写字母,一个数字,一个特殊符号,在这里解释一下 \W 这个表达式,它表示 “ 匹配任何非单词字符。等价于“[^A-Za-z0-9_] ”。可以看到,它是排除了下划线 _ 的,所以我在上面加上了下划线。

OK,第一部分完成了,剩下验证长度就小菜一碟啦,下面直接给大家写上,就不多做解释了:
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_]).{8,}/

大功告成,谢谢大家一步步看到这里哦!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式