Files
30-seconds-of-code/snippets/mask.md
Chalarangelo bf573e8e8a Fix typos
2022-09-04 12:34:33 +03:00

966 B

title, tags, expertise, cover, firstSeen, lastUpdated
title tags expertise cover firstSeen lastUpdated
Mask a value string intermediate blog_images/rocky-beach-3.jpg 2018-01-01T13:02:59+02:00 2020-10-21T21:54:53+03:00

Replaces all but the last num of characters with the specified mask character.

  • Use String.prototype.slice() to grab the portion of the characters that will remain unmasked.
  • Use String.prototype.padStart() to fill the beginning of the string with the mask character up to the original length.
  • If num is negative, the unmasked characters will be at the start of the string.
  • Omit the second argument, num, to keep a default of 4 characters unmasked.
  • Omit the third argument, mask, to use a default character of '*' for the mask.
const mask = (cc, num = 4, mask = '*') =>
  `${cc}`.slice(-num).padStart(`${cc}`.length, mask);
mask(1234567890); // '******7890'
mask(1234567890, 3); // '*******890'
mask(1234567890, -4, '$'); // '$$$$567890'