3종류 8자 이상
- public static Map<String, Object> validatePassword(String passwd) {
- Map<String, Object> resultMap = new HashMap<String, Object>();
- boolean containNum = false;
- boolean containLowerAlpha = false;
- boolean containUpperAlpha = false;
- int containCnt = 0;
- String validNum = "0123456789";
- String validUpperAlpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- String validLowerAlpha = "abcdefghijklmnopqrstuvwxyz";
- Pattern p = Pattern.compile(".*[^a-zA-Z0-9].*");
- Matcher m = p.matcher(passwd);
- if(m.matches()) {
- containCnt++;
- }
- if(passwd.length() > 0) {
- for(int i = 0; i < passwd.length(); i++) {
- if((containNum == false || containLowerAlpha == false || containUpperAlpha == false)) {
- if(containNum == false) {
- if(validNum.indexOf(passwd.charAt(i)) != -1) {
- containNum = true;
- containCnt++;
- continue;
- }
- }
- if(containLowerAlpha == false) {
- if(validLowerAlpha.indexOf(passwd.charAt(i)) != -1) {
- containLowerAlpha = true;
- containCnt++;
- continue;
- }
- }
- if(containUpperAlpha == false) {
- if(validUpperAlpha.indexOf(passwd.charAt(i)) != -1) {
- containUpperAlpha = true;
- containCnt++;
- continue;
- }
- }
- } else {
- break;
- }
- }
- if((containCnt >= 3 && passwd.length() >= 8) || (containCnt == 2 && passwd.length() >= 10)) {
- resultMap.put("status", true);
- } else {
- resultMap.put("status", false);
- resultMap.put("result", "사용 불가능한 비밀번호");
- }
- } else {
- resultMap.put("status", false);
- resultMap.put("result", "패스워드 길이 오류");
- }
- return resultMap;
- }
- public static Map<String, Object> validatePassword(String passwd) {
- Map<String, Object> resultMap = new HashMap<String, Object>();
- int containCnt = 0;
- Pattern numP = Pattern.compile(".*[0-9].*");
- Pattern lowerAlphaP = Pattern.compile(".*[a-z].*");
- Pattern upperAlphaP = Pattern.compile(".*[A-Z].*");
- Pattern specialCharP = Pattern.compile(".*[^a-zA-Z0-9].*");
- Matcher m;
- m = numP.matcher(passwd);
- if(m.matches()) {
- containCnt++;
- }
- m = lowerAlphaP.matcher(passwd);
- if(m.matches()) {
- containCnt++;
- }
- m = upperAlphaP.matcher(passwd);
- if(m.matches()) {
- containCnt++;
- }
- m = specialCharP.matcher(passwd);
- if(m.matches()) {
- containCnt++;
- }
- System.out.println(containCnt);
- if(passwd.length() > 0) {
- if((containCnt >= 3 && passwd.length() >= 8) || (containCnt == 2 && passwd.length() >= 10)) {
- resultMap.put("status", true);
- } else {
- resultMap.put("status", false);
- resultMap.put("result", "사용 불가능한 비밀번호");
- }
- } else {
- resultMap.put("status", false);
- resultMap.put("result", "패스워드 길이 오류");
- }
- return resultMap;
- }
[ 참고 - Pattern (Java Platform SE 7 b99) ]
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
댓글 없음:
댓글 쓰기