//密码为八位及以上并且字母数字特殊字符三项都包括
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
//密码为八位及以上并且字母、数字、特殊字符三项中有两项,强度是中等
var mediumRegex = new RegExp("^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[a-z])(?=.*\\W))|((?=.*[0-9])(?=.*\\W))|((?=.*[A-Z])(?=.*\\W))).*$", "g");
var enoughRegex = new RegExp("(?=.{8,}).*", "g");
话不多说,直接上代码哈,inputMethod方式是input框的@input事件,边输入边校验。
inputMethod(value) {
//console.log('value:',value)
//密码为八位及以上并且大小写字母数字特殊字符三项都包括
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
//密码为八位及以上并且大小写字母、数字、特殊字符三项中有两项,强度是中等
var mediumRegex = new RegExp("^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[a-z])(?=.*\\W))|((?=.*[0-9])(?=.*\\W))|((?=.*[A-Z])(?=.*\\W))).*$", "g");
var enoughRegex = new RegExp("(?=.{8,}).*", "g");
if(strongRegex.test(value)) {
//console.log('强密码-----',value)
this.str2="密码强度不错哦!"
this.note='请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。<i>当前密码强度:强</i>'
} else if (mediumRegex.test(value)){
//console.log('中等密码-----',value)
this.note='请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。<i>当前密码强度:中等</i>'
this.str2="密码强度中等!"
} else if(enoughRegex.test(value)){
//console.log('弱密码-----',value)
this.str2="密码强度太弱,请至少使用字母、数字、符号两种类型组合的密码!"
this.note='请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。<i>当前密码强度:弱</i>'
} else {
this.note='请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。'
//console.log('密码-----',value)
}
}
效果图如下: