Задать вопрос
@phpcoder81

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

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

PS input tel в виду "поддержки" не рассматриваю.
  • Вопрос задан
  • 2029 просмотров
Подписаться 1 Простой 16 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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;

    }


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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽