Как запретить удаление определенной части в 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 ">

→ Ссылка