본문 바로가기

이름·전화번호·주민번호·카드번호 마스킹

홍*동, 010-****-5678, 900101-1******, 1234-****-****-3456 처럼 화면에 보여 줄 개인정보를 가려요.

무엇이 어려운가요

주문 내역·회원 목록·영수증에는 개인정보를 일부만 보여 줘야 해요. 이름 길이(두 글자·네 글자)나 번호 형식에 따라 가릴 자리가 달라 매번 조건문이 늘어나요.

직접 입력해 보세요

maskName(이름)
'남**수'
maskPhoneNumber(전화번호)
'010-****-5678'
maskDigits(계좌번호, { end: 4 })
'***-***-**6789'

코드

npm install @bestow-ui/korean-utils
import { maskCardNumber, maskDigits, maskName, maskPhoneNumber, maskResidentNumber } from '@bestow-ui/korean-utils';

maskName('홍길동');   // '홍*동'
maskName('남궁민수'); // '남**수'
maskName('이훈');     // '이*'

maskPhoneNumber('01012345678');        // '010-****-5678'
maskResidentNumber('9001011234567');   // '900101-1******'
maskCardNumber('1234-5678-9012-3456'); // '1234-****-****-3456'

// 계좌번호처럼 형식이 제각각인 번호 — 뒤 4자리만 남기기
maskDigits('110-123-456789', { end: 4 }); // '***-***-**6789'

알아 둘 점

  • 마스킹은 화면 표시용이에요. 저장·전송·로그에는 가린 값이 아니라 꼭 필요한 값만 남기세요. 가린 값을 보내도 원래 값은 이미 서버에 있어요.

  • 대표번호(1588-1234)는 개인 번호가 아니라 가리지 않고, 형식을 모르는 번호는 모두 가려요.