Дмитрий
Так регуляркой и правлю
да херня это все
Дмитрий
я тебя уверяю
Pavel
Кто +7 кто 8
Vladimir
Так регуляркой и правлю
если не обрезал лишний символ
Vladimir
Кто +7 кто 8
например номера 8 812
Pavel
const $input = document.querySelector('[data-js="input"]') $input.addEventListener('input', handleInput, false) function handleInput (e) { e.target.value = phoneMask(e.target.value) } function phoneMask (phone) { return phone.replace(/\D/g, '') .replace(/^(\d)/, '($1') .replace(/^(\(\d{3})(\d)/, '$1) $2') .replace(/(\d{3})(\d{1,2})(\d{1,2})/, '$1-$2-$3') .replace(/(-\d{2})\d+?$/, '$1'); }
Дмитрий
я вот умный и ввожу без 8 и +7
Дмитрий
что будет?
Pavel
Дмитрий
ну что будет?
Дмитрий
где я могу протестировать?
Vladimir
Все ок
учитывая что в питере городские номера начинаются с 812
Vladimir
вообще весело
Дмитрий
ты думаешь написал 5 замен и все ровно?
Дмитрий
ты ошибаешься
Дмитрий
эта такая сложная ебанина
Vladimir
в реальности более менее тебе даст ответ база номеров
Дмитрий
@biovizir повесь метрику на эти инпуты и посмотри что люди вводят
Дмитрий
потому что там и отказы пойдут
Дмитрий
если им сильно не надо будет твой сайт но хотели
Pavel
https://codepen.io/Mantrid/pen/powddpK
Pavel
постоянные +7 перед инпутом будут только вставлены
Vladimir
у меня так вышло
Pavel
да все верно
Vladimir
это верно?
Pavel
+7 гвоздями прибито будет вначале
Vladimir
он сожрал мою последнюю цифру
Pavel
да верно
Vladimir
так номер неверный
Pavel
да должен сожрать
Pavel
в питере других номеров нет
Vladimir
в питере других номеров нет
в питере никто не набирает номера начиная с плюс 7?
Pavel
у кого короткий - думаю додумается 812 ввести
Pavel
но коротких номеров по битриксу смотрел - стремится к нулю
Vladimir
но коротких номеров по битриксу смотрел - стремится к нулю
я банально начал набирать свой номер как привык - с +7
Vladimir
и все
Vladimir
ты получил от меня неправильный номер
Vladimir
у половины еще включится автозаполнение - там вообще весело будет
Pavel
https://codepen.io/Mantrid/pen/powddpK
Pavel
вот так гвоздями прибить +7
Pavel
или чтоб в инпуте подставлялось
Pavel
лучше в инпуте
Vladimir
вот так гвоздями прибить +7
да это никто не читает
Vladimir
все набирают как привыкли
Vladimir
а ты будешь в половине случаев получать обрезанный номер
Vladimir
причем если непрравильно отформатированный или с лишними символами ты еще сможешь восстановить, то обрезанный - нет
Vladimir
потому и вред сплошной от этих масок
Vladimir
это я тебе по реальным кейсам говорю
Vladimir
нам пришлось маски убирать
Pavel
ну хз , в альфабанке вчера смотрел , у них приблизительно такое же поведение формы
Pavel
https://alfabank.ru/
Vladimir
пример плохо сделанной формы
Vladimir
то что они туда влепили гугл капчу - тому подтверждение :)
Vladimir
вот хороший логин https://www.tinkoff.ru/login/
Vladimir
сравни поведение
Vladimir
вот хороший логин https://lk.megafon.ru/api/login/
Pavel
у тиньков хуже , сходу ввел самую популярную комбинацию и фигня
Pavel
набери в тинькове 812
Vladimir
Pavel
многие не пишут перед 812 +7 или 8
Vladimir
многие не пишут перед 812 +7 или 8
а потому и не надо использовать маски
Vladimir
маски - зло
Vladimir
я привел более менее поведение масок но вообще лучше без них
Pavel
просто текстовое поле и дефисы разрешить со скобками что ли
Pavel
потом в битриксе придется девочкам править лиды
Vladimir
потом в битриксе придется девочкам править лиды
зачем? потом номер прогоняется сервисом, который его форматирует
Vladimir
ты гарантированно получишь качественный номер
Pavel
что за сервис ? не знал что такое есть
Vladimir
Vladimir
Vladimir
твой коронный легко форматируется
Vladimir
и получает пометку о ручной проверке
Pavel
всегда гонял регулярками , что то неподумал что сервисы есть