티스토리 뷰

개발을 진행 하다보면 사용자/유저로 부터 각종 정보를 입력받아 값에 유효성을 체크해야 할 필요가 있습니다. 대표적인 것인 이메일,전화번호등 입니다.


Pattern를 통해 다양한 방식으로 각종 값에 대한 유효성 검사를 진행 할수 있는데, 이번 포스팅에서 자동차의 차량번호에 대한 유효성 검사를 진행하는 간단한 메소드에 알아보도록 하겠습니다.


차량 번호는 법 개정으로 인행 현재 2가지 종류의 패턴이 존재 합니다.
1번째 패턴은 숫자2+한글+숫자4로 이루어진 패턴입니다.(ex.12조1234)
2번째 패턴은 한글2+숫자+한글1+숫자4로 이루어진 패턴입니다. (ex.서울12치1233)


아래의 메소드는 2가지 패턴을 확인하여 넘어온 차량번호가 유효한 경우 true를 유효하지 않는 경우 false를 리턴하는 간단한 패턴 확인 메소드 입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
  * 차량 번호 유효 여부 판단
  * 1번째 패턴 12조1234 =>숫자2,한글1,숫자4
  * 2번째 패턴 서울12치1233 한글2,숫자2,한글1,숫자4
  * @param carNum
  * @return
  */
 public static boolean isValidCarNumber(String carNum){
  
  boolean returnValue = false;
  
  try{                     
   String regex = "^\\d{2}[가|나|다|라|마|거|너|더|러|머|버|서|어|저|고|노|도|로|모|보|소|오|조|구|누|두|루|무|부|수|우|주|바|사|아|자|허|배|호|하\\x20]\\d{4}/*$";
   
   Pattern p = Pattern.compile(regex);
   Matcher m = p.matcher(carNum);
   if (m.matches()) {
    returnValue = true;
   }else{
    //2번째 패턴 처리 
    regex = "^[서울|부산|대구|인천|대전|광주|울산|제주|경기|강원|충남|전남|전북|경남|경북|세종]{2}\\d{2}[가|나|다|라|마|거|너|더|러|머|버|서|어|저|고|노|도|로|모|보|소|오|조|구|누|두|루|무|부|수|우|주|바|사|아|자|허|배|호|하\\x20]\\d{4}$";
     p = Pattern.compile(regex);
     m = p.matcher(carNum);
     if (m.matches()) {
      returnValue = true;
     }
   }
   
   return returnValue;
   
  }catch(Exception e){   
   return false;
  }
 } 
cs


댓글