Добавил в сервисы на 3kota проверку номера телефона. Телефон не просто проверяется по коду страны или коду оператора, а проверяет резервирование номера конкретным оператором связи, валидность и существования номера.

Как все прекрасно знают, есть несколько способов контролировать ввод номера на лендингах. Условно простой скрипт, который находит на сайте все name="phone" и запрещает вводить другие символы, кроме цифр, а так же устанавливает обязательную длину номера, от 5 до 13 символов:

document.addEventListener('input', function (e) { if (e.target.matches('input[name="phone"]')) { e.target.value = e.target.value .replace(/D/g, '') .slice(0, 13); } });

document.addEventListener('blur', function (e) { if (e.target.matches('input[name="phone"]')) { if (e.target.value.length < 5) { e.target.setCustomValidity('Введите минимум 5 цифр'); } else { e.target.setCustomValidity(''); } } }, true);

Второй способ, это установка маски от intl-tel-input. Которая подставляет флаг и маску нужной вам страны:

document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('input[name="phone"]').forEach(input => { const iti = intlTelInput(input, { initialCountry: 'de', nationalMode: false, separateDialCode: false, autoPlaceholder: 'off', formatOnDisplay: false, utilsScript: 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/19.2.16/js/utils.js' });

input.addEventListener('blur', () => { if (iti.isValidNumber()) input.value = iti.getNumber(); });

input.addEventListener('input', () => { input.setCustomValidity(''); });

input.setPhoneCountry = country => { iti.setCountry(country.toLowerCase()); input.value = '+' + iti.getSelectedCountryData().dialCode; }; }); });

И третий способ, как это работает в примере выше - это валидатор. Идем на сайт number.boostclicks.tech регаемся и получаем 500 проверок бесплатно. Работает по апи, и очень легко встраивается в лендинги. Пример запроса cURL

curl -X POST "https://number.boostclicks.tech/api/v1/verify" -H "X-API-Key: $NUMBER_API_KEY" -H "Content-Type: application/json" -d '{"phone":"+14155552671"}'

И в ответ нам приходит вся информация по номеру. Валидность, тип сети, гео, оператор. Если есть проблемы с трешем - это Маст-хэв

Всем хороших выходных 😉

Добавил в сервисы на 3kota проверку номера телефона | Сетка — социальная сеть от hh.ru