Главная » База знаний » Введите валидный номер телефона: что это такое значит, как его ввести
Введите валидный номер телефона: что это такое значит, как его ввести
20.03.2020
5,175 Просмотры
«Номер введен неверно. Введите валидный номер телефона». Хоть раз сталкивались с таким пугающим предупреждением? Если да — то эта статья точно для вас!
В наше время сложно найти человека, которому бы удалось хоть раз избежать регистрации на каком-либо сайте или в соцсети. Поэтому я думаю, вы все знаете, что для идентификации пользователя в них часто требуется телефон.
Для чего это нужно? А все для нашей с вами безопасности. Ведь если вашу страницу в соцсети или e-mail взломают, это становится единственной возможностью подтвердить вашу личность.
И что же делать, если вы вводите номер (который точно ваш!), а он оказывается «невалидный»?
Для начала определимся с термином. Валидность – от англ. Validity, что значит верный, корректный. Т.е. валидный — это правильный номер.
В нашем случае валидность — это определенная последовательность допустимых символов. Допустимых — значит, никаких букв или знаков препинания, например, в нем быть не должно. Любой телефон можно записать десятком разных способов: с пробелами, со скобками, через тире, сплошной чередой цифр, в конце концов, с 8 или +7.
И на каком-либо сайте система может принимать номер только в определенном формате. Например, вы пишете 8ххх ххх хх хх и она воспринимает его как невалидный.
С точки зрения программы верен только один вариант: +7хххххххххх.
Чаще всего проблем не возникает: вам либо сразу в примере укажут верную форму ввода, либо программа просто не пропустит невалидный номер и сама откорректирует его.
Но что же делать, если этого не произошло и вас попросили ввести валидный номер?
Есть несколько вариантов:
- Для начала убедитесь, что он точно ваш и в настоящий момент находится в рабочем состоянии. Иначе SMS подтверждения на него прийти просто не смогут.
Ваша СИМ-карта может быть заблокирована из-за неполной информации о паспортных данных, в таком случае нужно обратиться к вашему оператору связи. - Проверьте правильность введенного номера. Возможно, вы пропустили цифру или наоборот, приписали лишнего.
- Правильно вводите код страны. Часто возникает путаница, как писать: 8 или +7? Так вот, правильно +7.
- Старайтесь не мудрить и пишите без всяких символов и пробелов. Пример: +71234567890. Такой номер, скорее всего, программа сочтет валидным.
- Если вы уверены, что все введено верно, возможно, сбой произошел на сервере. Попробуйте войти через какое-то время.
Надеемся, что вы разобрались с понятием валидности телефонного номера и проблем с вводом у вас больше не возникнет.
Загрузка…
Как определяется невалидность мобильного номера
- Обновлено 13 Feb 2023
-
2
минуты
-
Темная тема
Светлая тема
Одной из наиболее распространенных причин недоставки рассылок в каналах SMS и Viber является невалидность номера мобильного телефона. В статье расскажем, как номер телефона потребителя признается невалидным и как самостоятельно вернуть номеру статус валидного.
Важно понимать, что валидность номера мобильного телефона — параметр кросспроектный , но не кроссканальный . Если номер есть в базе других проектов (компаний-клиентов Mindbox), то статистика ведется по активности номера во всех проектах, и он признается системой валидным/невалидным также во всех проектах. Иначе с каналами SMS и Viber: номер может быть валиден в одном канале и невалиден в другом.
Для определения валидности номера телефона ведется учет недоставок сообщений потребителю отдельно в каждом канале. Невалидность номера определяется в зависимости от количества и времени недоставок.
Недоставки могут сбрасываться в ноль, например, при отправке транзакционных сообщений.
Критерии невалидности
Невалидными признаются номера в следующих случаях:
-
Было 3 и более недоставки в один день, до или после этого дня недоставки были хоть раз.
Пример.
НЕвалидный : было 3 и более недоставки 15.01.2016, и хотя бы 1 недоставка в любой другой день. -
Было 2 недоставки в один день, и была хотя бы 1 недоставка минимум за 14 дней (включительно) до или через 14 дней (включительно) после этого дня.
Пример.
НЕвалидный: было 2 недоставки 15.01.2016 и недоставка до 01.01.2016.
НЕвалидный: было 2 недоставки 15.01.2016 и недоставка 29.01.2016 и позже.
Валидный: было 2 недоставки 15.01.2016 и недоставка в течение 13 дней до или после этого дня (13.01.2016 (или 19.01.2016). -
Недоставки в три разных дня в любом количестве в период больше 14 дней.
Пример.
НЕвалидный: недоставки 01.01.2016, 05.01.2016 и 01.02.2017.
Валидный: недоставки 01.01.2016, 05.01.2016 и 06.01.2016.
Валидность — неочевидные случаи
-
Было 3 и более недоставки в один день, до или после этого дня отправок/недоставок не было вообще — валидный.
-
Было 2 или более недоставки в один день, в течение 13 дней до или после этого дня была 1 недоставка — валидный.
-
Было 2 или более недоставки в один день, в течение 13 дней до или после этого дня было 2 недоставки и более (в один или несколько дней) — валидный.
Как пометить номер валидным
Для возвращения номера в статус валидного нужно отправить на него транзакционное сообщение, так как оно отправляется даже на невалидные номера и номера отписанных потребителей. При такой отправке номер возвращается в статус валидного вне зависимости от успешности доставки.
В случае недоставки — она засчитается как самая первая недоставка на номер, так как все предыдущие были сброшены.
SMS-рассылки: как настроить и запустить канал с самым высоким open rate
Была ли эта статья полезной?
Введите валидный номер телефона: что это значит?
Угрожающее сообщение «Введен неверный номер телефона» или «Укажите валидный номер» встречается пользователям социальных сетей или развлекательных ресурсов. Регистрация в системе происходит по телефону, указывать адрес электронной почты совсем не обязательно. Что делать при появлении сообщения о невалидном номере, как устранить всплывающую ошибку, позволит определенная комбинация действий.
Что значит «валидный»?
В переводе с международного английского языка «Validity» — правильный, корректный. Система настойчиво требует «Введите валидный номер», а пользователь не понимает, как его действующий телефон может быть неправильным. Уведомление нужно понимать как «Введите корректный номер телефона».
Валидность телефонного номера – качественная характеристика набора цифр, который идентифицируется системой как правильная комбинация. Для упрощения авторизации клиента были наложены ограничения на ввод нецифровых знаков – букв, знаков препинания, иных символов.
Как происходит идентификация по личному номеру телефона?
При регистрации на многих интернет-ресурсах, в приложениях или социальных сетях система требует указать адрес электронной почты, логин и пароль для новой учетной записи. Дополнительным способом подтвердить личность или восстановить утраченный доступ к аккаунту становится верно указанный мобильный номер.
Пользователь задается вопросом о том, в каком формате нужно указать номер телефона. Внутри страны принято отображать телефонную последовательность с цифры 8. Сайт, работающий в международном формате, воспримет номер телефона 8-***-***-**-** как невалидный. Нужно указать цифровую последовательность, начинающуюся с +7.
Международный код страны может выставляться автоматически, требуется ввести только остальные цифры, следующие за +7 или 8. В некоторых случаях система правит номер пользователя на валидный самостоятельно.
Что делать, если номер введен правильно, а система выдает «невалидный»?
Когда владелец мобильного номера убежден в правильности ввода, следует произвести проверку.
Убедиться в рабочем состоянии сим-карты
Потребуется позвонить оператору, проверить баланс. Иногда поставщик связи блокирует телефон из-за отсутствия паспортных данных клиента. Система не примет номер, если на него не удается отправить смс-сообщение.
Перечитать введенные цифры
Ошибка может быть связана с лишними или недостающими цифрами. Опечатка в одном знаке приводит к тому, что принятый номер телефона окажется недействующим.
Обратить внимание на введенный код страны
Нужно набрать +7, а не 8, если система требует ввод номера телефона в международном формате. Последовательность цифр будет принята как правильная.
Убрать пробелы, тире, иные знаки
Система автоматически расставляет разделители между цифрами телефонного номера. Дополнительных действий со стороны пользователя не требуется.
Убедиться в отсутствии технического сбоя
Если введен номер телефона, начинающийся с международного кода, нет лишних знаков, все цифры прописаны верно, можно предположить сбой на сервере. Обратитесь к регистрации позже.
Заключение
Разобраться в понятии «валидность» несложно. При заполнении регистрационной формы нужно ответственно отнестись к вводу исходной информации о пользователе. Изменить номер телефона будет проблематично.
Зарегистрироваться на недействующую сим-карту практически невозможно. Система не принимает введенные комбинации из соображений безопасности.
Давайте представим на минутку, что вы решили зарегистрироваться на каком-нибудь сервисе в интернете. В настоящее время большинство сервисов для регистрации требует использование номера телефона (прежде было достаточно электронной почты). И вот вы видите следующее сообщение: «Укажите валидный номер телефона». Что это значит?
Валидный означает правильный, допустимый, приемлемый, то есть вы должны указать тот номер телефона, к которому имеете доступ, поскольку на него с вероятностью в 99% придет код подтверждения — его необходимо указать для завершения регистрации.
Возьмем простой пример — установим мессенджер WhatsApp.
После установки запускаем.
Принимаем условия предоставления услуг, нажав «Принять и продолжить».
После чего сразу будет предложено указать номер телефона для регистрации аккаунта.
Разумеется, вы должны указать валидный номер телефона, на который придет СМС с кодом. Если вы укажите невалидный номер телефона, то не сможете пройти регистрацию, поскольку без кода подтверждения это просто не получится сделать — он вводится в специальное поле:
Также рекомендуем обращать внимание на то, как именно стоит указывать номер телефона: большинство сервисов поддерживает различное указание номера, например 8 999 или +7 999, но отдельные из них поддерживают строгое указание номера, например, только +7999. Как правило, это указывается при регистрации аккаунта.
А еще мы бы хотели напомнить, чтобы вы не производили регистрацию в сервисах, если сим-карта зарегистрирована не на вас — в случае потери телефона доступ к сервису можно и не восстановить.
Всем привет, Жёлтый на связи!
Всем нам рано или поздно приходится возиться с проверкой телефонных номеров в формах заявок. Обычно причиной является слишком большое количество треша: пользователи от нечего делать шлют рандомные номера в ПП, мы из-за этого видим большое число лидов в Facebook и в трекере, радуемся, а потом всё это падает в треш и GG WP.
Будем бороться с невалидными номерами и для начала рассмотрим, как мы обычно решаем эту задачу.
Убираем пустые номера
Самое первое, что нужно сделать, если этого не сделала за вас ПП — это убрать возможность отсылать форму с пустым номером. Для этого достаточно добавить к полю ввода номера атрибут required
.
<input type="text" name="phone" required/>
Теперь при попытке нажать на кнопку отправки пользователю будет показано сообщение о необходимости заполнить поле телефона:
Также хорошо было бы изменить тип поля на tel
и добавить автозаполнение. Про это прочитаете на моём телеграм-канале.
Маски ввода
Стандартное решение на сегодняшний день. Маска представляет собой шаблон номера для выбранного ГЕО и обычно включает в себя 2 вещи: длина номера и набор доступных цифр. Выглядит примерно так (для RU):
+7-999-999-99-99
Девятки в данном случае обозначают любую цифру. Поэтому, чтобы второй цифрой номера была именно девятка перед ней стоит слеш. Итого в номере должно быть 11 цифр, из них первая должна быть семёркой, вторая девяткой, а остальные любые.
На страницу подключают какой-нибудь JavaScript-плагин (обычно это InputMask) и пишут примерно такой код:
var selector = document.getElementById("phone");
var im = new Inputmask("+7-999-999-99-99");
im.mask(selector);
Плюсы метода: работает, просто подключить
Минусы метода: приходится разбираться, как в том или ином ГЕО выглядят валидные номера телефонов и писать под них маски. Если ошибёшься, то потеряешь лиды. Иногда пользователи начинают писать свой номер с кодом страны, хотя обычно код уже выставлен в маске, что ведёт к неправильным номерам в заявке. Иногда номера в стране могут быть разной длины, написать под такое маску становится тем ещё гемором.
LibPhoneNumber от Google
У корпорации Google существует своё решение для парсинга, форматирования и валидации телефонных номеров. Мы с вами не будем использовать его напрямую, а рассмотрим другую JavaScript-библиотеку International Telephone Input. Она удобнее в использовании и при этом под капотом юзает это же решение от гугла.
Кратко пробежимся по тому, что у нас получится в итоге:
- Наш скрипт будет автоматом определять страну пользователя по его IP-адресу и в поле ввода телефона показывать флаг этой страны
- После ввода каждой цифры скрипт будет проверять валидность номера и не будет давать отправлять форму с некорректным номером
Плюсы метода: работает для всех стран, не нужно выдумывать маски
Минусы метода: не ограничивает пользователя при вводе, но на это пофиг, ибо отправить дичь всё равно не получится!
Подключение и использование
Первым делом открываем пример и смотрим, как подключать библиотеку к своим лендам. Для этого добавляем в тег <head>
ссылку на бибилотеку и css-стиль.
После этого добавляем сразу после тега <body>
скрипт, который подключит проверку номеров для ваших полей ввода во всех формах на странице.
А теперь смотрите на выделенное красным поле: как вы понимаете, в моём примере поставлена проверка для гео RU, а нам надо бы сделать так, чтобы работало универсально. Рассмотрим 2 варианта.
Делаем скрипт универсальным, используя Кейтаро
Если у вас есть под рукой трекер Кейтаро, то всё проще пареной репы, вместо
initialCountry: 'RU',
пишем
initialCountry: '{country_code}',
Когда пользователь попадёт к вам на ленд, Кейтаро автоматом заменит макрос {country_code}
на код его ГЕО.
Делаем скрипт универсальным, используя JS-код
Идея в следующем: пользователь заходит на страницу, скрипт сам пробивает его IP по геобазе и определяет страну. Для этого нужно выставить страну в 'auto'
и прописать функцию определения страны.
initialCountry: "auto",
geoIpLookup: function(callback) {
$.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "us";
callback(countryCode);
});
},
В данном случае используется JQuery, чтобы отправить запрос и база IpInfo.io. Хотите — используйте любую другую.
Результат
При попытке отправить невалидный номер юзер получает от ворот поворот, что нам и требовалось.
Внедряем и льём в плюс, господа!
Простейший способ валидации телефонных номеров на сайтах
28 July 2017, 18:47 MSK
Ещё одна раздражающая проблема многих сайтов — это когда сайт заставляет вводить тебя телефонный номер в понятном ЕМУ формате. Часто разработчики таких сайтов впридачу не удосуживаются сообщить пользователю, в каком формате сайт хочет видеть номер. Совсем клиника — когда ты видишь голое поле ввода номера, вводишь номер, жмёшь «Отправить» и получаешь сообщение типа «Телефон введён неправильно». Блин, а как правильно-то? И начинаешь перебирать разные форматы…
Сегодня рассмотрим простой способ валидации (проверки правильности ввода) телефонных номеров при условии того, что все посетители сайта — из России (или Казахстана). Российские номера телефонов начинаются с +7 и имеют далее 10 цифр. При этом, все люди привыкли вводить телефонные номера по-разному. Кто-то пишет
+79219710296,
кто-то
+7 921 971 02 96,
кто-то ставит скобки и тире:
+7 (921) 971-02-96,
кто-то пишет через восьмёрку: 89219710296, кто-то пишет просто 10 цифр: 921 971 02 96, ну и так далее. В нашем способе проверки все эти примеры будут считаться валидными, а на выходе мы будем иметь телефон в едином формате +7xxxxxxxxxx для удобного хранения номера в базе данных.
Код PHP-функции проверки телефонного номера:
function validate_russian_phone_number($tel)
{
$tel = trim((string)$tel);
if (!$tel) return false;
$tel = preg_replace('#[^0-9+]+#uis', '', $tel);
if (!preg_match('#^(?:\+?7|8|)(.*?)$#uis', $tel, $m)) return false;
$tel = '+7' . preg_replace('#[^0-9]+#uis', '', $m[1]);
if (!preg_match('#^\+7[0-9]{10}$#uis', $tel, $m)) return false;
return $tel;
}
Функция принимает на входе строку с телефонным номером в произвольном формате, а возвращает либо телефонный номер в формате +7xxxxxxxxxx, либо false в случае, если номер не прошёл проверку (и об этом следует сообщить пользователю).
Спасибо за внимание. Делайте удобные сайты!