Работа с мобильными номерами телефонов на PHP
1 августа 2024 23:20:42
2615 просмотров
Удаление лишних символов
Только цифры и плюс:
$cleared_phone = preg_replace('/[^0-9\+]+/', '', $phone);
Только цифры без плюса:
$cleared_phone = preg_replace('/[^0-9]+/', '', $phone);
Валидация
Валидация белорусского номера. Перед валидацией удаляем из номера лишний символы. Валидация реализована для очищенного номера со знаком плюс. Так же реализованы проверки кода мобильного оператора и количества символов в номере телефона.
if (substr($cleared_phone, 0, 4) == '+375') {
$operators = [25, 29, 33, 44];
// проверяем код оператора
if (!in_array(substr($cleared_phone, 4, 2), $operators))
$error = 'Неверный код оператора';
// проверяем длину номера телефона
if (strlen($cleared_phone) != 13)
$error = 'Неверная длина номера';
}
Валидация российского номера. Перед валидацией удаляем из номера лишний символы. Валидация реализована для очищенного номера со знаком плюс. Реализована проверка количества символов в номере телефона.
if (substr($cleared_phone, 0, 2) == '+7') {
// проверяем длину номера телефона
if (strlen($cleared_phone) != 11)
$error = 'Неверная длина номера';
}
Красивый вывод
Перед выводом удаляем из номера лишние символы.
Номера Беларуси: +375 XX XXX-XX-XX
Номера РФ: +7 XXX XXX-XX-XX
if (substr($cleared_phone, 0, 4) == '+375') {
return '+375 ' . substr($cleared_phone, 4, 2) . ' ' . substr($cleared_phone, 6, 3) . '-' . substr($cleared_phone, 9, 2) . '-' . substr($cleared_phone, 11, 2);
} elseif (substr($cleared_phone, 0, 2) == '+7') {
return '+7 ' . substr($cleared_phone, 2, 3) . ' ' . substr($cleared_phone, 5, 3) . '-' . substr($cleared_phone, 8, 2) . '-' . substr($cleared_phone, 10, 2);
} else {
return $cleared_phone;
}
Материалы по теме
18 февраля 2018 21:23:00
Ajax подгрузка контента при прокрутке страницы Битрикс
Ajax подгрузка при прокрутке страницы или так называемый «бесконечный скроллинг» — это способ автоматической подгрузки контента в момент, когда пользователь достигает конца списка.
11 апреля 2018 23:58:05
Отправляем купон при подписке на рассылку Битрикс
Очень хорошим стимулом для подписки на рассылку вашего интернет-магазина является выдача купона со скидкой на товар. Сейчас мы реализуем функционал выдачи купона пользователю, если тот подписался на рассылку.