密码验证¶
PwdRegex
提供了可拓展的密码验证方法。
快速使用¶
// 判断密码是否至少包含一个字母,一个数字还有一个特殊字符
"852Vast.".isPwd(RwdStrength3)
PwdRegexKt.isPwd("852Vast.", PwdStrength1.INSTANCE);
密码强度¶
默认强度¶
PwdRegex
默认提供了四种密码强度:
- PwdStrength1:要求密码至少包含一个字母和一个数字。
- PwdStrength2:要求密码至少包含一个大写字母、一个小写字母和一个数字。
- PwdStrength3:要求密码至少包含一个字母和一个数字,以及一个特殊字符。
- RwdStrength4:要求密码至少包含一个大写字母、一个小写字母和一个数字,以及一个特殊字符。
特殊字符说明
特殊字符包括 !@#$%^&*.
自定义密码强度¶
通过实现 PwdStrength
接口,你可以自定义密码强度对应的正则表达式,例如:
object YourRwdStrength : PwdStrength {
override val regex: String
get() = "(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[!@#\\\$%\\^&\\*\\.])."
}
class YourRwdStrength implements PwdStrength{
@NonNull
@Override
public String getRegex() {
return "(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[!@#\\\$%\\^&\\*\\.]).";
}
}
常见组合屏蔽¶
isPwd
提供了参数 shouldNotAppear
,通过该参数你可以指定密码中不应该出现的组合,例如:
"852admin".isPwd(RwdStrength3, shouldNotAppear = arrayOf("123","admin"))
PwdRegexKt.isPwd("852admin", RwdStrength3.INSTANCE, 6, 20, new String[]{"123", "admin"});