반응형
서비스를 개발하다보면 전화번호를 다룰때가 많습니다.
집전화나 휴대폰전화 형식이 조금씩 다르고 사용자가 임의로 입력하게되면 그 형식이 또 다를수 있습니다.
그래서 보통 DB에 저장시에는 숫자만 저장하고 보여줄 때 형식에 맞게 보여줍니다.
그 형식에 맞게 보여주는 코드를 공유해봅니다.
public class FormatUtil { public static String phone(String src) { if (src == null) { return ""; } if (src.length() == 8) { return src.replaceFirst("^([0-9]{4})([0-9]{4})$", "$1-$2"); } else if (src.length() == 12) { return src.replaceFirst("(^[0-9]{4})([0-9]{4})([0-9]{4})$", "$1-$2-$3"); } return src.replaceFirst("(^02|[0-9]{3})([0-9]{3,4})([0-9]{4})$", "$1-$2-$3"); } public static void main(String[] args) { System.out.println(FormatUtil.phone("01012341234")); System.out.println(FormatUtil.phone("0212341234")); System.out.println(FormatUtil.phone("03212341234")); System.out.println(FormatUtil.phone("0621231234")); System.out.println(FormatUtil.phone("0163451234")); System.out.println(FormatUtil.phone("#012")); System.out.println(FormatUtil.phone("15881588")); System.out.println(FormatUtil.phone("050612341234")); } } |
결과
010-1234-1234 02-1234-1234 032-1234-1234 062-123-1234 016-345-1234 #012 1588-1588 0506-1234-1234 |
정확한 스펙에 맞게하고 싶은분은 여기를 참조하셔서 직접 구현하셔도 됩니다.
링크 : 대한민국의 전화번호 체계
반응형
'java' 카테고리의 다른 글
org.apache.catalina.util.SessionIdGeneratorBase : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [289,555] milliseconds. (0) | 2018.03.21 |
---|---|
spring boot application.properties encryption/decryption 스프링부트 프라퍼티 암호화 복호화 (0) | 2018.03.12 |
spring boot - spring.log 남기지 않기. (0) | 2018.02.21 |
java poi excel write 엑셀 쓰기 (0) | 2018.01.29 |
spring security cache control (0) | 2018.01.16 |
spring boot cache (0) | 2018.01.16 |
spring 301 redirect - RedirectView (0) | 2018.01.09 |
java md5 (0) | 2017.12.26 |