gpt4 book ai didi

java - 如何设置密码必须包含至少八个字符、至少一个数字、小写字母和特殊字符?

转载 作者:行者123 更新时间:2023-12-01 17:39:52 25 4
gpt4 key购买 nike

所以我做了一些验证的密码,我做的第一件事是验证passittord edittext,当我输入密码时,会出现一个红色关闭图标并显示消息错误,密码填充后关闭图标还是没有变成绿色的勾号图标,当密码填满字母、大写字母和数字时,关闭的图标变成了成功或 list 图标, friend 们能帮我解决这个问题吗?

我这样做仍然显示关闭图标

enter image description here

这是代码

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputPassword"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="20dp"
android:hint="Password"
app:counterEnabled="true"
app:counterMaxLength="6"
app:endIconMode="clear_text"
app:endIconDrawable="@drawable/ic_canceles"
app:errorEnabled="true"
app:endIconTint="#DF0000"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputEmail">

<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:maxLines="1"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>

这是 kotlin 代码

submitButtom.setOnClickListener {

if (editTextPassword.text.toString().length < 6) {
editTextPassword.setError("password minimum contain 6 character")
editTextPassword.requestFocus()
editTextPassword.isEnabled = true

}
if (editTextPassword.text.toString().length > 6) {
editTextPassword.setError("password maximum contain 6 character")
editTextPassword.requestFocus()
}
if (editTextPassword.text.toString().equals("")) {
editTextPassword.setError("please enter password")
editTextPassword.requestFocus();
}

}

最佳答案

好吧,我不打算测试它,但是您可以使用正则表达式来实现要求,特别是使用前额断言,如下所示:

'^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[],;!?:._-]).{8,}$'

前额断言都不消耗字符,但如果满足条件,它们就会查找。最后一部分说应该有任何字符,但至少有 8 个。顺便说一下,我在最后一个正则表达式类中放置了一些特殊字符,您可以放置​​您认为必须允许的字符。

关于java - 如何设置密码必须包含至少八个字符、至少一个数字、小写字母和特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60972863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com