STUDY/JavaScript

JavaScript | [CodeWars] Credit Card Mask

Hanee_ 2022. 1. 11. 11:51

# 문제 설명

Usually when you buy something, you're asked whether your credit card number, phone number or answer to your most secret question is still correct. However, since someone could look over your shoulder, you don't want that shown on your screen. Instead, we mask it.

Your task is to write a function maskify, which changes all but the last four characters into '#'.

 

 

# 입출력 예

maskify("4556364607935616") == "############5616"
maskify(     "64607935616") ==      "#######5616"
maskify(               "1") ==                "1"
maskify(                "") ==                 ""

// "What was the name of your first pet?"
maskify("Skippy")                                   == "##ippy"
maskify("Nananananananananananananananana Batman!") == "####################################man!"

 

# 답안

// return masked string
function maskify(cc) {
    if(cc.length>4){
        let dd="";
        for(let i=0;i<cc.substr(0,cc.length-4).length; i++){
            dd+='#';
        }
        dd+=cc.substr(cc.length-4,cc.length);
        return dd;            
    }
    return cc;
}

내가 봐도 쓸데없이 길긴 하다ㅋㅋ 아직 자바 스크립트를 어떻게 사용해야할지 잘 모르겠다..공부합시다ㅏ 네네..

 

 

# 실행 결과

# 코드 개선

function maskify(cc) {
  return cc.slice(0, -4).replace(/./g, '#') + cc.slice(-4);
}

 

처음부터 4자리 전까지 잘라 모든 문자를 (/./g) #으로 치환한 값과, 맨 마지막 4자리를 자른 뒤 합쳐 리턴함

 

정규표현식 사용법은 아래를 참조

 

 

 

JavaScript | 정규표현식 기초 / 사용법

1. 정규표현식 형식 : /패턴/플래그 - 슬래시(/) "사이"에는 매칭시킬 "패턴"을 써준다. - 슬래시(/) "다음"에는 옵션을 설정하는 "플래그"를 써준다. (플래그는 하나만 찾을지, 모두 다 찾을지 등을

hanahana.tistory.com