Notice
Recent Posts
Recent Comments
Link
투케이2K
331. (java/자바) [유틸 파일] : getRegExpDetail 정규식 패턴 형식 검증 - 휴대폰 번호, 이메일, 주민번호, ip주소 등 본문
Java
331. (java/자바) [유틸 파일] : getRegExpDetail 정규식 패턴 형식 검증 - 휴대폰 번호, 이메일, 주민번호, ip주소 등
투케이2K 2023. 7. 1. 11:07[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getRegExpDetail : 정규식 수행 세부 형식 검증
// -----------------------------------------------------------------------------------------
public static Boolean getRegExpDetail(String data, int regType) {
/**
* // -----------------------------------------
* [getRegExpDetail 메소드 설명]
* // -----------------------------------------
* 1. 정규식 수행 세부 형식 검증
* // -----------------------------------------
* 2. 호출 방법 :
*
* C_Util.getRegExpDetail("010-1234-5678", 1); // [휴대폰 번호]
* C_Util.getRegExpDetail("twok@naver.com", 2); // [이메일]
* C_Util.getRegExpDetail("940101-1234567", 3); // [주민 등록 번호]
* C_Util.getRegExpDetail("192.168.0.123", 4); // [ip 주소]
* C_Util.getRegExpDetail("02-1234-5678", 5); // [일반 전화]
*
* // -----------------------------------------
* 3. 리턴 데이터 : 패턴 만족 = true / 아니면 false
* // -----------------------------------------
* */
// [결과를 반환할 변수 선언 실시]
boolean returnData = false;
String M_LOG = "";
// [정규식 패턴 형식 정의]
String pattern_1 = "^01([0-9])-(\\d{3}|\\d{4})-\\d{4}$"; // TODO 정규식 : 휴대폰 번호 : 010-1234-5678 형식
String pattern_2 = "^(.+)@(.+)$"; // TODO 정규식 : 이메일 : hello@naver.com 형식
String pattern_3 = "^\\d{6}-[1-4]\\d{6}"; // TODO 정규식 : 주민등록 번호 : 940101-1234567 형식
String pattern_4 = "^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})"; // TODO 정규식 : ipV4 : 192.168.0.123 형식
String pattern_5 = "^(\\d{2}|\\d{3})-(\\d{3}|\\d{4})-\\d{4}$"; // TODO 정규식 : ipV4 : 02-1234-5678 형식
// [인풋 값 기준으로 패턴 삽입]
String patternString = "";
if (regType == 1){
patternString = pattern_1;
M_LOG = "정규식 : 휴대폰 번호 검증";
}
if (regType == 2){
patternString = pattern_2;
M_LOG = "정규식 : 이메일 형식 검증";
}
if (regType == 3){
patternString = pattern_3;
M_LOG = "정규식 : 주민등록 번호 형식 검증";
}
if (regType == 4){
patternString = pattern_4;
M_LOG = "정규식 : ipV4 아이피 주소 형식 검증";
}
if (regType == 5){
patternString = pattern_5;
M_LOG = "정규식 : 일반 전화 번호 형식 검증";
}
// [로직 처리 실시]
try {
if (C_Util.stringNotNull(data) == true && C_Util.stringNotNull(patternString) == true) { // [문자열이 널이 아닌 경우 수행]
// [인풋 값이 패턴 형식을 만족하는지 확인]
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(data);
// [리턴 변수에 삽입]
returnData = matcher.matches();
}
}
catch (Exception e){
e.printStackTrace();
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("정규식 수행 패턴 만족 확인 실시", new String[]{
"INPUT :: " + String.valueOf(data),
"M_LOG :: " + String.valueOf(M_LOG),
"REGEXP :: " + String.valueOf(patternString),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [결과 반환 실시]
return returnData;
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_Util.getRegExpDetail(C_Util.java:5466)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 정규식 수행 패턴 만족 확인 실시]
I/: ----------------------------------------------------
I/: [LOG :: INPUT :: 02-1234-5678]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: 정규식 : 일반 전화 번호 형식 검증]
I/: ----------------------------------------------------
I/: [LOG :: REGEXP :: ^(\d{2}|\d{3})-(\d{3}|\d{4})-\d{4}$]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: true]
D///===========//: ================================================
반응형
'Java' 카테고리의 다른 글
Comments