Соляный язык JS

я сразу скажу, что ищу готовый код! Помогите пожалуйста. Напишите под пост код который будет принимать слово из инпута. Отслеживать у него любую гласную букву. К гласной букве в слове добавлять 'си' и опять ту-же гласную . Кто не понял это соляный язык


Ответы (1 шт):

Автор решения: EzioMercer

Можно так с помощью replaceAll:

const input = document.querySelector('#input');
const result = document.querySelector('#result');

input.addEventListener('input', () => {
  result.innerHTML = input.value.replaceAll(/[aeiouаяуюоеёэиы]/gi, '$&c$&');
})
<input id="input" placeholder="enter text">
<p id="result"></p>

P.S. $& - Вставляет совпадения

Если нужно без регулярок, то можно так:

const input = document.querySelector('#input');
const result = document.querySelector('#result');
const vowels = new Set('aeiouаяуюоеёэиыAEIOUАЯУЮОЕЁЭИЫ');

input.addEventListener('input', () => {
  result.innerHTML = input.value
    .split('')
    .map(x => vowels.has(x) ? `${x}c${x}` : x)
    .join('');
})
<input id="input" placeholder="enter text">
<p id="result"></p>

→ Ссылка