close
在此範例中,主要用於「判斷字串中,是否包含大小寫英文字母、數字、特殊符號,並且至少各有一個英文字母及數字在其中,而總長度最少為8碼(含)以上」,而如有其他需求的話,也能依需求增刪減程式碼。
1. 主程式範例
/**
* 判斷字串中,是否包含大小寫英文字母、數字、特殊符號,並且至少各有一個英文字母及數字在其中,而總長度最少為8碼(含)以上
* @author Elsa
*/
public class PasswordDecideDemo {
public static void main(String... args) {
System.out.println("1: " + isMeetPwdRule("a"));
System.out.println("2: " + isMeetPwdRule("2"));
System.out.println("3: " + isMeetPwdRule("a3b"));
System.out.println("4: " + isMeetPwdRule("abcdefg"));
System.out.println("5: " + isMeetPwdRule("951348206899"));
System.out.println("6: " + isMeetPwdRule("a@ab5byuf"));
System.out.println("7: " + isMeetPwdRule("bdg69wtyu"));
}
2. 判斷字串之方法範例
public static boolean isMeetPwdRule(String str) {
boolean isMeetPwdRule = false;
// 1.判斷字串總長度是否大於等於8碼
if(str.length() > 7) {
boolean isDigit = false;
boolean isLetter = false;
// 2.判斷字串中是否符合至少各有一個英文字母及數字在其中
for(int i = 0 ; i < str.length(); i++) {
// 利用char包裝類 - Character 中的判斷數字的方法(isDigit),來判定該字串中是否包含數字
if(Character.isDigit(str.charAt(i))) {
isDigit = true;
}
// 利用char包裝類 - Character 中的判斷英文字母的方法(isLetter),來判定該字串中是否包含英文字母
if(Character.isLetter(str.charAt(i))) {
isLetter = true;
}
// 如符合至少各有一個英文字母及數字在其中者,則可跳出該迴圈
if(isDigit && isLetter)
break;
}
// 3.判斷字串中是否包含大小寫英文字母 和 數字 (或 特殊符號)
String regex = "^[a-zA-Z0-9\\p{Punct}]+$"; // ^[a-zA-Z0-9]+$ 此正規表達式不包含特殊符號,即有特殊符號則為false
isMeetPwdRule = isDigit && isLetter && str.matches(regex);
}
return isMeetPwdRule;
}
3. 執行結果
參考網址:
http://blog.csdn.net/zgcy123456/article/details/9428933
http://blog.sina.com.cn/s/blog_a3c7fe550101agko.html
全站熱搜
留言列表