如何在 TextInputLayout Android 中实现这样的密码错误?

Posted

技术标签:

【中文标题】如何在 TextInputLayout Android 中实现这样的密码错误?【英文标题】:How to achieve password error like this in TextInputLayout Android? 【发布时间】:2021-12-14 08:31:32 【问题描述】:

这就是我想要实现的。请帮助我处理第三个错误的正则表达式。

【问题讨论】:

到目前为止你做了什么? 【参考方案1】:

试试这个解决方案:

public static boolean isValidPassword(String s) 
            Pattern PASSWORD_PATTERN
                    = Pattern.compile(
                    "[a-zA-Z0-9\\!\\@\\#\\$]8,24");

            return !TextUtils.isEmpty(s) && PASSWORD_PATTERN.matcher(s).matches();
        

使用它:

if(isValidPassword(password)) //password valid

对于空字段:

if (password.getText().toString().isEmpty() || reEnteredPassword.getText().toString().isEmpty()) 
//Fieds empty error message

少于 8 个字符:

if ((password.getText().toString().length() < 8) || (reEnteredPassword.getText().toString().length() < 8)) 
// less than 8 characters error message

没有特殊字符:

if (!password.getText().toString().matches( "^(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*+=?-]).8,15$") || !reEnteredPassword.getText().toString().matches( "^(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*+=?-]).8,15$"))
//not having special characters error message

【讨论】:

以上是关于如何在 TextInputLayout Android 中实现这样的密码错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何改变TextInputLayout的浮动标签颜色

如何在空的edittext上更改材质TextInputLayout提示颜色?

如何在 TextInputLayout 中水平居中“标签提示”?

当我的 textInputLayout 为空时如何出错

如何正确从材料设计 TextInputLayout 中获取文本?

如何使 TextInputLayout 的浮动标签变为粗体