Есть номер телефона, который висит на сайте. Задается он через панель управления. Как вывести номер телефона с пробелами? Например, заменить +7(999)999-99-99 на +7 (999) 999-99-99. Есть ли решения на js или php?
Решение на PHP с помощью str_replace:
$output=str_replace( array('(',')'), array(' (',') '), $input );
js
'+7(999)999-99-99'.replace(/^([+]\d{1})([(]\d{3}[)])(\d{3})([-]\d{2})([-]\d{2})$/, '$1 $2 $3$4$5')
Можно написать функцию форматирования:
function format($src, $format = '+d (ddd) ddd-dd-dd') {
$digits = preg_replace('/\D/', '', $src); // Оставляем только цифры
$res = '';
for($i = 0; $i < strlen($format); $i++) {
$letter = $format[$i];
if (!$digits) { // Не хватило цифр
$res .= $letter;
continue;
}
switch ($letter) {
case 'd': // Цифра
$res .= $digits[0];
$digits = substr($digits, 1);
break;
default: $res .= $letter;
}
}
return $res;
}
$data = [
'+7(999)999-99-99',
'79998887766',
'799988877', // недостаточно цифр для формата
];
foreach ($data as $phoneSrc) {
echo format($phoneSrc)."\n";
}
echo format('+7 (999) 888-77-66', '+d (ddd) dd-dd-ddd'); // Другой формат
Вывод:
+7 (999) 999-99-99
+7 (999) 888-77-66
+7 (999) 888-77-dd
+7 (999) 88-87-766
Демо
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Собственно вот регулярное выражение которое у меня получилось:
Хотел написать универсальный каркас для веб приложений, но столкнулся с проблемой проектирования БДЗадумка в следующем: Есть категории,...
2 день пытаюсь найти решение в интернете не получается, многое что перепробовал надеюсь вы мне помочь сможете использую Xampp)
Здравствуйте, пишу регистрацию для сайтаПодключаю базу данных и пишет ошибка: