要求:密码中有大写字母,小写字母,以及数字
package com.example.demo;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author seif
* @Description: TODO
* @date 2019/1/1511:34
* @Modified by:
*/
public class Test1 {
public static boolean checkPwd(String pwd) {
//\w 匹配字母或数字或下划线或汉字
if (pwd.matches("\\w+")) {
//匹配小写字母
Pattern p1 = Pattern.compile("[a-z]+");
//匹配大写字母
Pattern p2 = Pattern.compile("[A-Z]+");
//匹配数字[0-9]+ 或 \d
Pattern p3 = Pattern.compile("[0-9]+");
//进行匹配
Matcher m = p1.matcher(pwd);
if (!m.find())
return false;
else {
//重置匹配器的状态,修改Matcher对象的Pattern,用以进行新的模式匹配。
m.reset().usePattern(p2);
if (!m.find())
return false;
else {
m.reset().usePattern(p3);
if (!m.find())
return false;
else {
return true;
}
}
}
} else {
return false;
}
}
public static void main(String[] args) {
System.out.println(checkPwd("AAA"));
System.out.println(checkPwd("AAa"));
System.out.println(checkPwd("AA1"));
System.out.println(checkPwd("Aa1"));
System.out.println(checkPwd("aaa"));
System.out.println(checkPwd("aa1"));
System.out.println(checkPwd("111"));
}
}