Необходимо реализовать метод getHiddenCard, который принимает на вход номер кредитки (состоящий из 16 цифр) в виде строки и возвращает его скрытую версию, которая может использоваться на сайте для отображения. Если исходная карта имела номер
2034399002125581
, то скрытая версия выглядит так
****5581
. Другими словами, функция заменяет первые 12 символов, на звездочки. Количество звездочек регулируется вторым необязательным параметром. Значение по умолчанию — 4.
Пример кода, который должен выводиться:
// Кредитка передается внутрь как строка
getHiddenCard("1234567812345678", 2); // "**5678"
getHiddenCard("1234567812345678", 3); // "***5678"
getHiddenCard('1234567812345678'); // "****5678"
getHiddenCard('2034399002121100', 1); // "*1100"
const getHiddenCard = (str, x = 4) => {
let basestr = str.slice(12, 17);
let newstr = str.slice(0, 12);
let secondwstr = newstr.replace(newstr, '*'.repeat(5));
return secondwstr + basestr;
}
Реализовал метод, но как его доделать до конца, ведь он будет выводить постоянно 5* перед последними четырьмя цифрами.