在應用app登錄的時候通常都會讓我們匹配一系列規則,然後通過前端規則驗證,以後發送給後臺,並完成登錄,註冊,等功能。
那麼記錄今天看到的正則的應用:
正則表達式之:驗證用戶名
public static final String REGEX_USERNAME =”^[a-zA-Z]\\w{5,17}$";
正則表達式之:驗證密碼
public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,16}$";
正則表達式之:驗證手機號
public static final String REGEX_MOBILE = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"
正則表達式之:驗證郵箱
public static final String REGEX_MEAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"
那麼校驗用戶名方法:
public static boolean isAccount(String account){
return Patter.matches(REGEX_USERNAME,account);
}
/** * 校驗密碼 * * @param password * @return 校驗通過返回true,否則返回false */ public static boolean isPassword(String password) { return Pattern.matches(REGEX_PASSWORD, password); }
/** * 校驗手機號 * * @param mobile * @return 校驗通過返回true,否則返回false */ public static boolean isMobile(String mobile) { return Pattern.matches(REGEX_MOBILE, mobile); }
/** * 校驗郵箱 * * @param email * @return 校驗通過返回true,否則返回false */ public static boolean isEmail(String email) { return Pattern.matches(REGEX_EMAIL, email); }
//校驗用戶名 public static boolean checkAccount(String account, EditText Account) { if (!isAccount(account)) { Account.setError("親,請輸入正確的用戶名!"); return false; } return true; }
//校驗手機號 public static boolean checkNumber(String number, EditText Number) { if (!isMobile(number)) { Number.setError("親,這是你的手機號麼!"); return false; } return true; }
//校驗手機號 public static boolean checkNumber(String number, EditText Number) { if (!isMobile(number)) { Number.setError("親,這是你的手機號麼!"); return false; } return true; }
//校驗郵箱 public static boolean checkEmail(String email, EditText Email) { if (!isEmail(email)) { Email.setError("親,這那是郵箱呀!"); return false; } return true; }
//校驗密碼 public static boolean checkPassword(String password, EditText Password) { if (!isPassword(password)) { Password.setError("親,密碼格式不對哦!"); return false; } return true; }
//校驗兩個密碼是否相同 public static boolean checkIsSamePassword(String password, String Password, EditText mConfirmPassword) { //防止越界 if (password.length() > Password.length()) { mConfirmPassword.setTextColor(Color.RED); return false; } for (int i = 0; i < password.length(); i++) { if (password.charAt(i) != Password.charAt(i)) { mConfirmPassword.setTextColor(Color.RED); return false; } } mConfirmPassword.setTextColor(Color.BLACK); return true; }
//判斷是否具備註冊的條件 public static boolean canRegister(EditText mUserName, EditText mPassword, EditText mConfirmPassword, int what) { String userName = mUserName.getText().toString().trim(); String password = mPassword.getText().toString().trim(); String confrimPassrod = mConfirmPassword.getText().toString().trim(); if (what == STATUS_ACCTOUNT) { if (!checkAccount(userName, mUserName)) { return false; } } if (what == STATUS_EMAIL) { if (!checkEmail(userName, mUserName)) { return false; } } if (what == STATUS_MOBILE) { if (!checkNumber(userName, mUserName)) { return false; } } if (!checkPassword(password, mPassword)) { return false; } Log.e("this", password + "||" + confrimPassrod); if (!checkIsSamePassword(confrimPassrod, password, mConfirmPassword) || !password.equals(confrimPassrod)) { mConfirmPassword.setError("親,這個對不上號哦!"); return false; } return true; }
以上就是驗證用戶登錄判斷用戶郵箱,手機,密碼是否通過正則規則,通過返回true,否則false;
這樣以後我們自己判斷過以後,纔會把通過驗證的手機,密碼,郵箱等發送給後臺。