前言
最近在学习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次重复出现的字符或数字,其他能力使用方式同上。
尾巴
今天分享的内容就这么多了,相对来说比较简单,通过以上内容一目了然,希望能给大家带来帮助。如果你喜欢我的文章,欢迎点赞,关注,评论,谢谢!