android登录问题

今天复习了一下android开发登录的功能!

1.观察者模式校验前端输入数据

复制代码
// 校验账号不能为空且必须是中国大陆手机号(宽松模式匹配)
private boolean isTelphoneValid(String account) {
    if (account == null) {
        return false;
    }
    // 首位为1, 第二位为3-9, 剩下九位为 0-9, 共11位数字
    String pattern = "^[1]([3-9])[0-9]{9}$";
    Pattern r = Pattern.compile(pattern);
    Matcher m = r.matcher(account);
    return m.matches();
}
复制代码

密码要求不少于6位

// 校验密码不少于6位
private boolean isPasswordValid(String password) {
    return password != null && password.trim().length() > 5;
}

而且我实现了EditText的setOnFocusChangeListener方法,根据输入数据的类型调用对应的方法进行校验。这样就可以在输入框改变焦点的时候进行校验,判断输入格式是否正确,如果错误,则会在右侧出现错误提示。

复制代码
private void setOnFocusChangeErrMsg(EditText editText,String inputType, String errMsg){
        editText.setOnFocusChangeListener(
                new View.OnFocusChangeListener() {
                    @Override
                    public void onFocusChange(View v, boolean hasFocus) {
                        String inputStr = editText.getText().toString();
                        if (!hasFocus){
                            if(inputType == "phone"){
                                if (isTelphoneValid(inputStr)){
                                    editText.setError(null);
                                }else {
                                    editText.setError(errMsg);
                                }
                            }
                            if (inputType == "password"){
                                if (isPasswordValid(inputStr)){
                                    editText.setError(null);
                                }else {
                                    editText.setError(errMsg);
                                }
                            }
                        }
                    }
                }
        );
    }
复制代码

 

posted @   小张睡醒了  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示