JavaScript&TypeScript

JavaScript - 연락처에 하이픈 추가

hjkang

전화번호나 핸드폰번호를 입력받았을 때 하이픈(-)을 추가하는 함수는 아래와 같다.

 

예시

  • 15881588 -> 1588-1588
  • 01011112222 -> 010-1111-2222
  • 025557777 -> 02-555-7777
  • 0315557777 -> 031-555-7777

 

const contactNum = (n) => {
    if (!n) return null;

    const numbers = n.replace(/\D/g, '');

    if (numbers.startsWith('02')) {
      if (numbers.length <= 2) {
        return numbers;
      } else if (numbers.length <= 5) {
        return `${numbers.slice(0, 2)}-${numbers.slice(2)}`;
      } else if (numbers.length <= 9) {
        return `${numbers.slice(0, 2)}-${numbers.slice(2, 5)}-${numbers.slice(5)}`;
      } else {
        return `${numbers.slice(0, 2)}-${numbers.slice(2, 6)}-${numbers.slice(6, 10)}`;
      }
    } else if (numbers.length === 8) {
      return `${numbers.slice(0, 4)}-${numbers.slice(4)}`;
    } else if (numbers.length <= 3) {
      return numbers;
    } else if (numbers.length <= 6) {
      return `${numbers.slice(0, 3)}-${numbers.slice(3)}`;
    } else if (numbers.length <= 10) {
      return `${numbers.slice(0, 3)}-${numbers.slice(3, 6)}-${numbers.slice(6)}`;
    } else {
      return `${numbers.slice(0, 3)}-${numbers.slice(3, 7)}-${numbers.slice(7, 11)}`;
    }
}