@cheburek_ilon

Как сделать автоудаление в поле для ввода?

Есть поле для ввода номера телефона, это поле предназначено только для вставки десяти цифр без "+" , "7", "8". То есть нужно писать так 999 999 99 99. Допустим я скопировал с контактов номер телефона, полность с +7. И мне нужно, чтобы при вставке номера в поле, "+7“ автоматически удалилось и вставилось только 10 следующих цифр. Я же правильно понимаю, мне нужен javascript? В какую сторону мне вообще смотреть или быть может есть готовые решения? Спасибо заранее.
  • Вопрос задан
  • 1262 просмотра
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега CSS
Без библиотек можно и так сделать:
const input = document.querySelector('input');

input.addEventListener('input', (event) => {
  const value = event.target.value
    .replace(/^\+?[78]/, '')
    .replace(/[^0-9]/g, '')
    .slice(0, 10);
  
  event.target.value = value;
});

Я бы использовал imask.js в данном случае:
IMask(document.querySelector('input'), { mask: '000 000 00 00' });

Ответ написан
Комментировать
yesbro
@yesbro
Думаю, помогаю думать
Для данного поля реализуешь обработчик события paste для нужного поля. В нем как надо форматируешь номер телефона. И уже результат обработки вставляешь в поле.

Начать изучать вопрос можно отсюда https://learn.javascript.ru/events-change-input
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы