Чтобы реализовать данный функционал, вы можете использовать обработчик события `input` на поле ввода, который будет фильтровать ввод пользователя и сохранять только нужные символы. Предположим, что у вас есть HTML-элемент ввода с идентификатором `phone-input`. Вот пример кода на JavaScript, который убирает префикс `+7` и оставляет только 10 цифр номера телефона:
```html
<input id="phone-input" type="text" placeholder="Введите номер телефона">
```
```javascript
document.getElementById('phone-input').addEventListener('input', function(e) {
// Получаем текущее значение поля ввода
var value = e.target.value;
// Удаляем все символы, кроме цифр
var numbers = value.replace(/\D/g, '');
// Проверяем, начинается ли строка с '7' или '8' и удаляем этот символ, если нужно
if (numbers.startsWith('7') || numbers.startsWith('8')) {
numbers = numbers.substring(1);
}
// Обрезаем все, что длиннее 10 цифр
numbers = numbers.substring(0, 10);
// Устанавливаем новое значение поля ввода
e.target.value = numbers;
});
```
Этот код делает следующее:
1. Вешает обработчик события на изменение содержимого поля ввода.
2. Использует регулярное выражение для удаления всех символов, кроме цифр.
3. Проверяет, начинается ли строка с префикса `7` или `8`. Если начинается, то удаляет данный префикс (предполагая, что номер мобильного телефона в России без кода страны может начинаться с `7` или `8`).
4. Обрезает строку до длины в 10 цифр, чтобы у пользователя не получилось ввести лишнее.
5. Присваивает новое значение элементу ввода.
Это базовое решение, и оно будет работать для простых случаев. Если, однако, вам требуется более продвинутая обработка вводимых номеров (например, поддержка различных форматов телефонных номеров), вы можете рассмотреть использование плагина для маски ввода, такого как Inputmask (https://github.com/RobinHerbots/Inputmask) или любого другого подобного плагина.