前端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次重复出现的字符或数字,其他能力使用方式同上。

尾巴

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

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值