今天复习了一下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); } } } } } ); }
标签:null,String,登录,editText,校验,问题,android,password,setError From: https://www.cnblogs.com/wajava/p/18111072