mmth
Дмитрий
Дмитрий
я тебя уверяю
Pavel
Кто +7 кто 8
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
Vladimir
Pavel
постоянные +7 перед инпутом будут только вставлены
Vladimir
у меня так вышло
Pavel
да все верно
Vladimir
это верно?
Pavel
+7 гвоздями прибито будет вначале
Vladimir
он сожрал мою последнюю цифру
Pavel
да верно
Vladimir
так номер неверный
Pavel
да должен сожрать
Pavel
в питере других номеров нет
Pavel
у кого короткий - думаю додумается 812 ввести
Pavel
но коротких номеров по битриксу смотрел - стремится к нулю
Vladimir
Vladimir
Vladimir
и все
Vladimir
ты получил от меня неправильный номер
Vladimir
у половины еще включится автозаполнение - там вообще весело будет
Pavel
https://codepen.io/Mantrid/pen/powddpK
Pavel
вот так гвоздями прибить +7
Pavel
или чтоб в инпуте подставлялось
Pavel
лучше в инпуте
Vladimir
Vladimir
все набирают как привыкли
Vladimir
а ты будешь в половине случаев получать обрезанный номер
Vladimir
причем если непрравильно отформатированный или с лишними символами ты еще сможешь восстановить, то обрезанный - нет
Vladimir
потому и вред сплошной от этих масок
Vladimir
это я тебе по реальным кейсам говорю
Vladimir
нам пришлось маски убирать
Pavel
ну хз , в альфабанке вчера смотрел , у них приблизительно такое же поведение формы
Pavel
https://alfabank.ru/
Vladimir
Vladimir
пример плохо сделанной формы
Vladimir
то что они туда влепили гугл капчу - тому подтверждение :)
Vladimir
вот хороший логин
https://www.tinkoff.ru/login/
Vladimir
сравни поведение
Vladimir
вот хороший логин
https://lk.megafon.ru/api/login/
Pavel
у тиньков хуже , сходу ввел самую популярную комбинацию и фигня
Pavel
набери в тинькове 812
Vladimir
Vladimir
Pavel
многие не пишут перед 812 +7 или 8
Vladimir
маски - зло
Vladimir
я привел более менее поведение масок
но вообще лучше без них
Pavel
просто текстовое поле и дефисы разрешить со скобками что ли
Vladimir
Pavel
потом в битриксе придется девочкам править лиды
Vladimir
ты гарантированно получишь качественный номер
Pavel
что за сервис ? не знал что такое есть
Vladimir
Vladimir
Vladimir
Vladimir
твой коронный легко форматируется
Vladimir
и получает пометку о ручной проверке
Pavel
всегда гонял регулярками , что то неподумал что сервисы есть