From 4b43b9aa5a99e81c8df4a8a45b0c21170b969293 Mon Sep 17 00:00:00 2001 From: chenglifeng Date: Thu, 9 Oct 2025 15:31:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=86=E7=A0=81=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E8=A7=84=E5=88=99=EF=BC=9A=E9=9C=80=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E5=A4=A7=E5=86=99=E3=80=81=E5=B0=8F=E5=86=99=E3=80=81=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E3=80=81=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6=E8=87=B3?= =?UTF-8?q?=E5=B0=913=E7=A7=8D=E4=B8=94=E9=95=BF=E5=BA=A612=E4=BD=8D?= =?UTF-8?q?=E4=BB=A5=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../survey/ui/login/UpdatePwdActivity.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt b/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt index 0dd2ce6..7a7e55d 100644 --- a/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt +++ b/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt @@ -60,8 +60,25 @@ class UpdatePwdActivity : BaseBindingActivity() { 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 + } + } \ No newline at end of file