添加密码校验规则:需包含大写、小写、数字、特殊字符至少3种且长度12位以上

main
chenglifeng 3 weeks ago
parent 5a6918f489
commit 4b43b9aa5a
  1. 17
      app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt

@ -60,8 +60,25 @@ class UpdatePwdActivity : BaseBindingActivity<ActivityUpdatePwdBinding>() {
toast("新密码输入不一致")
return@setOnClickNoRepeatListener
}
if (!isValidPassword(newPassword)){
toast("密码需包含大写、小写、数字、特殊字符至少3种且长度12位以上")
return@setOnClickNoRepeatListener
}
viewModel.updatePassword(oldPassword, newPassword)
}
}
private fun isValidPassword(password: String): Boolean {
if (password.length < 12) return false
val criteriaCount = listOf(
Regex(".*[A-Z].*"), // 大写字母
Regex(".*[a-z].*"), // 小写字母
Regex(".*\\d.*"), // 数字
Regex(".*[!@#\$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?].*") // 特殊字符
).count { it.matches(password) }
return criteriaCount >= 3
}
}
Loading…
Cancel
Save