Хотелось коротко, получилось как всегда)
<span class="phone_number">+74953332211<span class="phone_number_active"> Показать</span></span><br>
<span class="phone_number">+74953332011<span class="phone_number_active"> Показать</span></span>
<script>
(function() {
const classNamePhone = 'span.phone_number';
const count = 4; // сколько чисел менять
const hideText = "X".repeat(count); // каким символом менять
document.querySelectorAll(classNamePhone).forEach((item) => {
replaceNumber(item);
item.lastChild.addEventListener("click", (e) => {
const parent = e.target.parentElement;
const fChild = parent.firstChild;
if (!fChild.__hideNumber) {
replaceNumber(e.target.parentElement);
e.target.innerHTML = " Показать";
} else {
fChild.nodeValue = fChild.nodeValue.replace(hideText, fChild.__hideNumber);
fChild.__hideNumber = false;
e.target.innerHTML = " Скрыть";
}
});
});
function replaceNumber(item) {
const val = item.firstChild.nodeValue;
item.firstChild.__hideNumber = val.substr(-count);
item.firstChild.nodeValue = val.substr(0, val.length - count) + hideText;
}
})();
</script>