@phpcoder81

Как проверить корректность номера телефона?

Просмотрев базу из более 1000 заявок, понял, что пользователи вводят номера по разному. Пробелы, тире, скобки, восьмерки, семерки с плюсом и тк.
input тип поля text, без js масок-уясок.
Регулярка тоже сомнительное решение, тк клиенты вольны вбивать как им угодно этот самый номер. Как показала практика.
Мужики, есть ли способ хоть как-то определить корректность?

PS input tel в виду "поддержки" не рассматриваю.
  • Вопрос задан
  • 1590 просмотров
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Тыц. Не благодарите)

Если эта либа не поможет то дальше только NLP
Ответ написан
randomizex
@randomizex
http://resume.web-ivan.ru
Если все же на регулярках устроит
// оголяем телефон до цифр
function phoneTrim($phone)
    {
        $phone = preg_replace('/([- _()+])?/', '', $phone);

        if (mb_stripos($phone, "89") === 0) {
            $phone = '79' . mb_substr($phone, 2);
        }
        return $phone;
    }
// проверяем на корректность
function isPhoneValid($phone)
    {
        $phone = phoneTrim($phone);
        $res = false;
        if (mb_strlen($phone) == 11) {
            if (mb_stripos($phone, "79") === 0) {
                $res = true;
            }
        }
        return $res;

    }


Ну и соответственно если там бОльший беспридел то можно дописать функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
от 300 000 до 500 000 ₽
07 мая 2024, в 18:48
5000 руб./за проект
07 мая 2024, в 18:23
20000 руб./за проект
07 мая 2024, в 18:09
2000 руб./за проект