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); } } } } } ); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)