//用戶名長度6-20位,由數字,字母,下划線組成,且不能以數字開頭,字母不區分大小寫。 @Test public void main (){ String loginName = "1_admin"; System.out.println(checkLoginName(loginName)); if(!checkLoginName(loginName)){ System.out.println("用戶名不合法,長度6-20位,由數字,字母,下划線組成,不能以數字開頭"); } } public static boolean checkLoginName(String loginName) { String regExp = "^[A-Za-z_]{1}[A-Za-z\\d_]{5,19}$"; if(loginName.matches(regExp)) { return true; }else { return false; } }
//密碼長度為8-20位,由數字,字母,下划線組成,且至少包含兩種及以上字符,字母區分大小寫。 @Test public void main1 (){ String passWord = "sadwadasdA1_"; System.out.println(checkPassword(passWord)); if(!checkPassword(passWord)){ System.out.println("密碼不合法!長度為8-20位,由數字,大小寫字母,下划線組成,且至少包含兩種及以上字符"); } } public static boolean checkPassword(String passWord) { String regExp = "^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![_]+$)[0-9_A-Za-z]{7,19}$"; if(passWord.matches(regExp)) { return true; }else { return false; } }
還是有缺陷的,不過暫時夠用了,先用着,
賬號不區分大小寫就不寫了,用String的toLowerCase()全部轉為小寫存儲即可,驗證也是一樣
哪位園友有更好的辦法也可以評論
