Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 세자리 콤마
- css not
- mac 전체화면 보기
- SubString
- checkbox readonly
- 문자열 함수
- 자바스크립트
- 콤마 추가
- tolowercase
- css 말풍선
- 카운트 증가
- 특정요소제외
- touppercase
- mac 전체화면 닫기
- 문자 위치
- radio readonly
- 숫자 증가
- 문자열
- 천단위 나누기
- 스크립트 시계
- JavaScript
- 말풍선 그리기
- JS
- 별표시
- 문자열 추출
- Replace
- 보이스오버
- not 선택자
- mac 바탕화면 보기
- 특정태그제외
Archives
- Today
- Total
나의 IT Note
JavaScript] 개인정보 마스킹(이름, 전화번호 등등 숨기기) 본문
개인정보 마스킹
보안이 중요시 되기 때문에 이름, 계좌번호, 전화번호 등등의 개인정보에 마스킹은 필수가 되어가고 있다.
성명 마스킹
- 성명의 맨 앞과 맨 뒤 1자리씩 제외하고 나머지는 *로 치환된다.
- 이름이 외자인 경우에 성은 노출이 되고 이름은 *로 치환된다.
- 성이 2자인 경우에는 성과 이름 구분없이 성명의 맨 앞과 맨 뒤를 제외한 나머지가 *로 치환된다.
예시) 선우길동 → 선**동 - 성만 입력 또는 이름이 외자인데 이름만 입력하여 이름값이 1자리수라면 해당 이름이 그대로 노출된다.
function maskName(name) {
if (name.length === 1) {
return name;
} else if (name.length === 2) {
return name.slice(0, 1) + '*';
} else {
return name.slice(0, 1) + '*'.repeat(name.length - 2) + name.slice(-1)
}
}
maskName('홍') // 홍
maskName('홍길') // 홍*
maskName('홍길동') // 홍*동
maskName('선우길동') // 선**동
전화번호 마스킹
- 전화번호는 11자리의 숫자로만 존재해야 한다.
- 가운데 4자리를 *로 치환한다.
function maskCellPhone(phoneNumber) {
// 휴대폰 번호가 11자리인지 확인
if (phoneNumber.length !== 11) {
console.error("휴대폰 번호는 11자리여야 합니다.");
return phoneNumber;
}
// 가운데 4자리를 '*'로 대체
var maskedNumber = phoneNumber.substring(0, 3) + '****' + phoneNumber.substring(7);
return maskedNumber;
}
maskCellPhone('01012345678') // 010****5678
// 전화번호에 하이픈이 있는경우 아래 함수를 이용하여 하이픈 제거 후 마스킹 적용
maskCellPhone(convertToNumer('010-1234-5678')) // 010****5678
전화번호 하이픈 제거
만약 전화번호에 하이픈('-')이 있다면 아래 함수를 통해 하이픈을 제거하여 사용 할 수 있다.
function convertToNumer(phoneNumber) {
// '-' 제거
var numericNumber = phoneNumber.replace(/-/g, '');
return numericNumber;
}
convertToNumer('010-1234-5678') // 01012345678
계좌번호 마스킹
- 계좌번호 앞 3자리와 뒤 3자리를 제외한 나머지 숫자를 '*'로 치환된다.
function maskAccountNumber(accountNumber) {
const maskedNumber = accountNumber.slice(0, 3) + '*'.repeat(accountNumber.length - 6) + accountNumber.slice(-3);
return maskedNumber;
}
maskAccountNumber('234567040975542') // 234*********542
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 숫자 3자리(천단위)마다 콤마(,) 추가(정규식, toLocaleString) (1) | 2024.02.27 |
---|---|
[JavaScript] 카운트 증가 / 숫자 증가 시키기(requestAnimationFrame) (0) | 2024.02.27 |
[JavaScript] 디지털 시계 구현하기 (0) | 2024.01.23 |
[JavaScript] 페이지 자동으로 이동하기[location.href / location.replace()] (0) | 2024.01.18 |
[JavaScript] 제이쿼리(jQuery) 다음요소 찾기(next) 자바스크립트로 구현 (0) | 2023.12.01 |
Comments