이름·전화번호·주민번호·카드번호 마스킹
홍*동, 010-****-5678, 900101-1******, 1234-****-****-3456 처럼 화면에 보여 줄 개인정보를 가려요.
무엇이 어려운가요
주문 내역·회원 목록·영수증에는 개인정보를 일부만 보여 줘야 해요. 이름 길이(두 글자·네 글자)나 번호 형식에 따라 가릴 자리가 달라 매번 조건문이 늘어나요.
직접 입력해 보세요
maskName(이름)'남**수'maskPhoneNumber(전화번호)'010-****-5678'maskDigits(계좌번호, { end: 4 })'***-***-**6789'
코드
npm install @bestow-ui/korean-utilsimport { 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)는 개인 번호가 아니라 가리지 않고, 형식을 모르는 번호는 모두 가려요.