Необходимо разработать универсальную маску для поля ввода номера телефона.
Введённые данные должны быть всегда приведены к виду +7 (___) ___-__-__
.
Должен быть учтён следующий функционал:
- поле должно быть
<input type="tel">
- маска должна применяться:
- при вводе с клавиатуры
- при вставке содержимого из буфера обмена
- при работе с мобильных устройств (iOS и Android)
- для ввода должны быть доступны только цифры
- при расфокусировании поля с некорректно введённым номером должно срабатывать. Например, если пользователь ввёл недостаточное количество цифр, накидывать класс error на сам input
Нельзя пользоваться готовыми библиотеками, в том числе jQuery. Весь код необходимо написать на чистом JavaScript.
Приветствуются любые фичи, улучшающие удобство пользования полем ввода. Например, часто при вставке номера из буфера обмена срезается последняя цифра и в поле заносится что-то вроде +7 (892) 322-21-10
вместо ожидаемого +7 (923) 222-11-00
.
Любое решение подобных багов оценивается положительно.
Для выполнения необходимо форкнуть этот репозиторий на свой аккаунт, после выполнения загрузить результат и отправить нам ссылку на свой репозиторий (если вы делаете свой репозиторий приватным, то нужно отправить приглашение на чтение для данного аккаунта)