본문 바로가기
백엔드

자바 영문자 숫자 한글 등의 정규식 패턴 표현

by DR BOY 2021. 11. 25.

import java.util.regex.*;

public class RegExp {

public static boolean checkParameter(String pattern, String str){
boolean okPattern = false;
String patternRegex = null;

pattern = pattern.trim().toLowerCase();

//숫자
if("num".equals(pattern)){
patternRegex = "^[0-9]*$";
} //영어
else if("eng".equals(pattern)){
patternRegex = "^[a-zA-Z]*$";
} //한글
else if("kor".equals(pattern)){
patternRegex = "^[ㄱ-ㅎ가-힣]*$";
} //영숫자
else if("eng_num".equals(pattern) || "num_eng".equals(pattern)){
patternRegex = "^[a-zA-Z0-9]*$";
} //한숫자
else if("kor_num".equals(pattern) || "num_kor".equals(pattern)){
patternRegex = "^[ㄱ-ㅎ가-힣0-9]*$";
} //이메일
else if("email".equals(pattern)){
patternRegex = "^[_0-9a-zA-Z-]+@[0-9a-zA-Z]+(.[_0-9a-zA-Z-]+)*$";
} //핸드폰
else if("hp".equals(pattern)){
patternRegex = "^01(?:0|1|[6-9])-(?:\\d{3}|\\d{4})-\\d{4}$";
} //전화
else if("tel".equals(pattern)){
patternRegex = "^\\d{2,3}-\\d{3,4}-\\d{4}$";
} //주민번호
else if("ssn".equals(pattern)){
patternRegex = "^\\d{7}-[1-4]\\d{6}";
} //아이피
else if("ip".equals(pattern)){
patternRegex = "([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})";
}

okPattern = Pattern.matches(patternRegex, str);

return okPattern;
}
}

 

댓글