티스토리 뷰
ORACLE에서도 정규식표현으로 휴대전화 포맷을 적용할 수 있지만 JAVA에서도 간단하게 적용 가능하다.
휴대전화번호는 무조건 3자리-3 또는 4자리-4자리로 되어 있기 때문에 다음과 같이 처리 가능하다.
public static String makePhoneNumber(String phoneNoStr) { String regEx = "(\\d{3})(\\d{3,4})(\\d{4})"; if(!Pattern.matches(regEx, phoneNoStr)) return null; return phoneNoStr.replaceAll(regEx, "$1-$2-$3"); }
만약 앞의 3자리 값을 고정시키고 싶다면 다음과 같이 해 보는 것도 방법이다.
public static String makePhoneNumber(String phoneNoStr) { String regEx = "(010|011|016|017|018|019)(.+)(.{4})"; if(!Pattern.matches(regEx, phoneNoStr)) return null; return phoneNoStr.replaceAll(regEx, "$1-$2-$3"); }
이렇게 하면 앞 3자리가 휴대전화번호 시작번호인지 확인을 하게 되어 잘못된 입력을 예방해 준다. 다만 위의 소스는 무조건 자리수로만 자르는 것으로 (010|011|016|017|018|019)\\d(.+)\\d(.{4}) 로 숫자타입여부를 체크해 주는 것도 좋다.
참고로 ORACLE에서는 REGEXP_REPLACE 함수를 이용하여 포맷을 적용할 수 있다.
SELECT REGEXP_REPLACE('01012345678', '(010|011|016|017|018|019)(.+)(.{4})','\1-\2=\3') AS TEL_NO FROM DUAL
'지식정보' 카테고리의 다른 글
[ORACLE] BLOB to VARCHAR2 변환 (0) | 2017.08.10 |
---|---|
jquery 모든 input 입력박스 readonly 처리하기 (0) | 2017.03.10 |
과연 하이퍼루프 는 미래의 운송수단이 될 수 있을까? (0) | 2017.02.16 |
ORACLE LAG, LEAD 함수 활용하기 (0) | 2017.02.15 |
Tistory 에 SyntaxHighlighter 적용하기 (0) | 2017.02.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday