berezuev
@berezuev
#define TRUE FALSE

Как валидировать телефонные номера?

Всем привет.

Есть список телефонов пользователей из ВК.
Как известно, 80% пользователей пишут в этом поле что угодно, но не номер телефона, а остальные 20% пишут его в разных форматах. Как можно отобрать настоящие номера?
Номера только российские, начинаются на 7, +7, 8 или без префикса вообще...
Сам номер - 9 знаков с кодом. Между знаками могут быть любые символы (скобки, дефисы, пробелы)
  • Вопрос задан
  • 6800 просмотров
Решения вопроса 1
sofcase
@sofcase
Веб-разработчик
Вам необходимо отрезать пробелы, плюсы и минусы. Затем сравнить длину номера и проверить чтобы состоял только из цифр. Можно сделать примерно так:
$phonenumber = '...';
$phonenumber = preg_replace('/(\-|\s|\+)/i', '', trim($phonenumber));
if (strlen($phonenumber) == 9 && preg_match('/^\d+$/i', $phonenumber)) {
    echo 'valid';
} else {
    echo 'invalid';
}


Конечно valid будет только если человек указал полный номер с кодом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@trase8
Вот еще либа для валидации телефонных номеров (php)
pakagist
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы