LoginSignup
3
5

More than 5 years have passed since last update.

js クレジットカード番号のマスクをつくる

Posted at

お題

クレジットカード番号を確認するときの形式、下四桁以外隠す関数をつくる

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);
}

他にもコードが浮かんだ方、コメントお待ちしております。

3
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5