前端JS弱密码验证

前端JS弱密码验证

前言

最近在学习uniapp开发,开发过程中要对用户密码做弱密码校验,然后总结了下常用的弱密码规则和校验方式,通过封装成js文件来提供一系列验证方法,下面就直接看封装后的leak-pwd-check.js文件。

JS文件

//是否连续3次出现重复字符
const regRepeat = /([0-9a-zA-Z])\1{2}/
//是否包含大写字母
const regUpperLetter = /(?=.*[A-Z])/
//是否包含小写字母
const regLowerLetter = /(?=.*[a-z])/
//是否包含大小写
const regLetter = /(?=.*[A-Z])(?=.*[a-z])/
//是否包含数字
const regDigit = /(?=.*[0-9])/
//是否包含特殊字符
const regSpChar = /(?=.*[\W_])/
//组合验证,综合上面三种,并且密码长度不小于8位
const regCompose = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_]).{8,}/

//是否连续3次出现重复字符
function repeatCheck(str){
    
    
	return regRepeat.test(str)
}

//是否包含大写字母
function upperLetterCheck(str){
    
    
	return regUpperLetter.test(str)
}

//是否包含小写字母
function lowerLetterCheck(str){
    
    
	return regLowerLetter.test(str)
}

//是否包含大小写字母
function letterCheck(str){
    
    
	return regLetter.test(str)
}

//是否包含大小写字母
function letterCheck(str){
    
    
	return regLetter.test(str)
}

//是否包含数字
function digitCheck(str){
    
    
	return regDigit.test(str)
}

//是否包含特殊字符
function spCharCheck(str){
    
    
	return regSpChar.test(str)
}

//组合验证,综合上面三种,并且密码长度不小于8位
function composeCheck(str){
    
    
	return regCompose.test(str)
}

module.exports = {
    
    
	repeatCheck,
	upperLetterCheck,
	lowerLetterCheck,
	letterCheck,
	digitCheck,
	spCharCheck,
	composeCheck

}

使用姿势

  • 在vue页面的script标签中引入leak-pwd-check.js文件(不同类型的项目可能引入方式有差别,已实际项目为准,不一定跟下面方式一样),这里请注意文件的路径。
    在这里插入图片描述

  • 在页面中成功引入leak-pwd-check.js文件后就获得了leak-pwd-check.js提供的一系列能力,如下所示:
    · repeatCheck(是否连续3次出现重复字符或数字)
    · upperLetterCheck(是否包含大写字母)
    · lowerLetterCheck(是否包含小写字母)
    · letterCheck(是否包含大小写字母)
    · digitCheck(是否包含数字)
    · spCharCheck(是否包含特殊字符)
    · composeCheck(组合验证,综合上面三种,并且密码长度不小于8位)

  • 调用能力方式:别名.函数(需要验证的密码字符)。示例:
    var password = ‘111234’
    var result = pwdChecker.repeatCheck(password)
    result返回为true,则成功验证出密码中包含连续3次重复出现的字符或数字,其他能力使用方式同上。

尾巴

今天分享的内容就这么多了,相对来说比较简单,通过以上内容一目了然,希望能给大家带来帮助。如果你喜欢我的文章,欢迎点赞,关注,评论,谢谢!

猜你喜欢

转载自blog.csdn.net/abs625/article/details/120003905