Как запретить удаление определенной части в input?
В input phone через кнопку вставляются различные коды стран. Эту часть нельзя указать вручную
Как можно запретить удаление этого кода? Например могут быть такие коды "+7_" или "+987_"
*без нагромождения в верстке скрытых заглушек для имитации начала input, есть только 1 голый input.
Регулярное выражение почему-то не срабатывает.
document.querySelector('#phone').addEventListener('keydown', valid);
document.querySelector('#phone2').addEventListener('keydown', valid);
function valid(event) {
if (this.value === /^\+\d+\s/ && event.key === 'Backspace') {
event.preventDefault()
}
}
<input type="text" id="phone" value="+7 ">
<input type="text" id="phone2" value="+987 ">
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Всё у Вас срабатывает, если быть внимательнее. Но, подход всё равно неверный.
document.querySelector('#phone').addEventListener('keydown', valid);
document.querySelector('#phone2').addEventListener('keydown', valid);
function valid(event) {
if (/^\+\d+ $/.test(this.value) && event.key === 'Backspace') {
event.preventDefault();
}
}
<input type="text" id="phone" value="+7 ">
<input type="text" id="phone2" value="+987 ">