关于密码强度的正则

今天在写一个项目的时候用到正则表达式去区分密码的强度,实在是不想写,就去网上找了找,看到他们写的要不就是太简单,就是判断数字和字母,要不然就是太复杂,让人看都看不懂,感觉好方。

所以自己花了半下午的时间,写了一个,自己感觉应付一般的密码完全可以应付。


uPwd.addEventListener("blur", function () {

//var timer = null;

clearInterval(timer);

tips[1].style.display = "block";

var pwdVal = uPwd.value;

if (pwdVal.length < 6) {

tips[1].innerHTML = "密码长度必须是6-20,由字母、数字、下划线、特殊字符组成";

tips[1].style.color = "red";

timer = setTimeout(function () {

tips[1].style.display = "none";

},3000)

}

//密码验证规则,很实用

if (/^[a-zA-Z0-9_-]{6,20}$/.test(pwdVal)) {

//show.className = "success";

tips[1].innerHTML = "密码强度:弱";

tips[1].style.color = "gray";

timer = setTimeout(function () {

tips[1].style.display = "none"

}, 3000);

if (/^([a-z].*[A-Z])|([A-Z].*[a-z])$/.test(pwdVal)) {

tips[1].innerHTML = "密码强度:中等";

tips[1].style.color = "orange";

timer = setTimeout(function () {

tips[1].style.display = "none"

}, 3000)

}

if (/^([a-z].*[0-9])|([A-Z].*[0-9])|[0-9].*[a-zA-Z]$/.test(pwdVal)) {

tips[1].innerHTML = "密码强度:高";

tips[1].style.color = "hotpink";

timer = setTimeout(function () {

tip[1].style.display = "none"

}, 3000)

}

if (/^[A-Za-z0-9]+[_][A-Za-z0-9]*$/.test(pwdVal)) {

tips[1].innerHTML = "密码强度:非常高";

tips[1].style.color = "green";

timer = setTimeout(function () {

tips[1].style.display = "none"

}, 3000)

}

repwd = this.value;

} else {

tips[1].innerHTML = "密码不可用,必须是6-20位数字、字母、下划线、特殊字符";

tips[1].style.color = "red";

repwd = null;

timer = setTimeout(function () {

tips[1].style.display = "none"

}, 3000)

}

})


这个文本模式太烦人,下次用markdown写

欢迎交流意见

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 5,883评论 0 1
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,382评论 2 17
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,367评论 1 10
  • 我还是很喜欢你 像蝴蝶入梦,若过清风 愿你眉目如初 身后花开无邪 泸沽湖和雪山一样,是很久以前的梦。第三次来云南,...
    景然的小岛阅读 4,583评论 30 25
  • 【每天三件事】 1、搜索页面要完善一下 2、和测试了解进度 3、PC端的开发情况,还有排期文档 【小确幸】 今天阳...
    Katrina程阅读 525评论 0 0