<div id="less36">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h2>Поиск мата и его замена на ***</h2>
<h4 style="margin-bottom: 15px;">(Плохие слова : блин, пипец, хер)</h4>
<textarea id="text_36" cols="35" rows="5">Как же блин хорошо, просто пипец как хорошо, что аж хер его знает.</textarea><br>
<button type="button" id='btn36' class="btn btn-outline-primary" onclick='BadWords()' style="margin-bottom: 15px;">Push</button>
<h4 id="output36"></h4>
</div>
</div>
</div>
</div>
const badWords = ['блин', 'пипец', 'хер',];
function BadWords() {
var out = document.getElementById('output36');
let field = document.getElementById('text_36').value;
for (var i = 0; i < badWords.length; i++){
field = field.replace(badWords[i], '*');
}
out.innerHTML = field;
}
out.textContent = badWords.reduce(
(str, n) => str.replaceAll(n, '*'.repeat(n.length)),
field
);
for (const n of badWords) {
field = field.replace(RegExp(n, 'g'), Array(n.length + 1).join('*'));
}
out.innerText = field;
out.innerHTML = (function replace(str, i, n = badWords[i]) {
return n
? replace(str.split(n).join(Array(n.length).fill`*`.join``), -~i)
: str;
})(field, 0);
out.replaceChildren(field.replace(
RegExp(badWords.join('|'), 'g'),
m => m.replaceAll(/./g, '*')
));