Как сделать маску для ввода номера, без готовых макетов на чистом JS?
Привет, нужно сделать поле для ввода номера и проверить его на валидность. Есть много макетов и плагинов на JQuery но мы его еще не учили(дз делаю), и самому хочется разобраться как это происходит под капотом. С валидностью проблем нет, может у кого есть ссылка на видео или статью где объясняется? Или тут может кто объяснит.
Ну а что, цепляетесь к событию onkeydown инпута, по событию считываете его .value и введённый символ, далее - в зависимости от позиции введённого символа (читайте - количество символов в инпуте перед ним) определяете, оставить его в инпуте или выполнить event.preventDefault().
Дополнительно вешаетесь на onchange , чтобы проверить результат регуляркой, когда пользователь сменит фокус с инпута на что-то другое (onchange срабатывает не в момент ввода, а по завершению, т.е. когда все символы забиты и вы кликнули в другое место)
WbICHA, да нет, мне валидность не нужна, я это знаю. Мне нужно сделать эту маску для телефона, типо +38(___)-__-__-__ . Когда пишешь, то туда подставляются цифры. Ну и да, я как раз учу основы JS и тд))
Elon, а библиотеки, по твоему, как пишут?) Жалко не могу найти решение без библиотек, но помню было не так давно, видимо вопрос был задан криво.
Если коротко, то это делается не в 2 строчки, а расписывать всё вряд ли тут у кого-то будет желание. Лично у меня такого желания нет.