Files
30-seconds-of-code/snippets/mask.md
Angelos Chalaris 04f12f285e Update mask.md
2018-01-01 14:40:29 +02:00

21 lines
796 B
Markdown

### mask
Replaces all but the last `num` of characters with the specified mask character.
Use `String.slice()` to grab the portion of the characters that need to be masked and use `String.replace()` with a regex to replace every character with the mask character.
Concatenate the masked characters with the remaining unmasked portion 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.
```js
const mask = (cc,num = 4,mask = '*') =>
('' + cc).slice(0, -num).replace(/./g, mask) + ('' + cc).slice(-num);
```
```js
mask(1234567890) // '******7890'
mask(1234567890,3) // '*******890'
mask(1234567890,4,'$') // '$$$$$$7890'
mask(1234567890,-4,'$') // '1234$$$$$$'
```