お題
クレジットカード番号を確認するときの形式、下四桁以外隠す関数をつくる
function maskify(cc) {
//write your code.
}
maskify("4556364607935616")
出力結果 例
maskify("4556364607935616") // "############5616"
maskify( "64607935616") // "#######5616"
maskify( "1") // "1"
maskify( "") // ""
maskify("Skippy") //"##ippy"
maskify("Nananananananananananananananana Batman!") // "####################################man!"
つかったもの
split()
for文
join()
考え方
・split()で引数を分割する
・for文で後ろから四つを残して”#”に入れ替える
・join()してかえしておわり
コード
function maskify(cc) {
cc = cc.split("");
for(var i = 0; i < cc.length - 4; i++){
cc[i] = "#";
}
cc = cc.join("");
return cc
}
ES6
maskify = (cc) => '#'.repeat(Math.max(0, cc.length - 4)) + cc.substr(-4);
正規表現を使ったコード
function maskify(cc) {
return cc.slice(0, -4).replace(/./g, '#') + cc.slice(-4);
}