Как сравнить строку с первыми символами ввода поля input?
Здравствуйте, есть строка, например "678". Как правильно сравнить первые 3 цифры, введённые в input c обработчиком события .addEventListener("input", function() { }); так, чтобы одна функция выполнялась пока цифры совпадают (и позиции цифр), а при первом неудачном сравнении - начала выполнятся другая функция.
Если первая цифра 6 - продолжаем;
если первая 6, вторая 7 - продолжаем;
если первая 6, вторая 7, третья не 8 - стоп.
Я думаю, что можно реализовать это с помощью for и if, но получается громоздко, хотел бы узнать более компактные и красивые варианты. Спасибо.
const rgxpText = "678"; // текст регулярки
const text = "678"; // проверяемое
let rgxp;
// условие для отсечения регулярки по длине проверяемого
if (rgxpText.length > text.length) {
rgxp = new RegExp(`^${rgxpText.substr(0, text.length)}`);
} else {
rgxp = new RegExp(`^${rgxpText}`);
}
const isResult = rgxp.test(text);
if (isResult) {
// сделать одно
} else {
// сделать другое
}