Преобразовать текст на php или js

223
01 апреля 2017, 01:37

Есть номер телефона, который висит на сайте. Задается он через панель управления. Как вывести номер телефона с пробелами? Например, заменить +7(999)999-99-99 на +7 (999) 999-99-99. Есть ли решения на js или php?

Answer 1

Решение на PHP с помощью str_replace:

$output=str_replace( array('(',')'), array(' (',') '), $input );
Answer 2

js

'+7(999)999-99-99'.replace(/^([+]\d{1})([(]\d{3}[)])(\d{3})([-]\d{2})([-]\d{2})$/, '$1 $2 $3$4$5')

Answer 3

Можно написать функцию форматирования:

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

Демо

READ ALSO
Как задать логическое и в регулярном выражении?

Как задать логическое и в регулярном выражении?

Собственно вот регулярное выражение которое у меня получилось:

233
Универсальная структура БД

Универсальная структура БД

Хотел написать универсальный каркас для веб приложений, но столкнулся с проблемой проектирования БДЗадумка в следующем: Есть категории,...

195
отправка письма с помощью sendmail

отправка письма с помощью sendmail

2 день пытаюсь найти решение в интернете не получается, многое что перепробовал надеюсь вы мне помочь сможете использую Xampp)

207
Ошибка при подключении базы данных с помощью redbeanphp

Ошибка при подключении базы данных с помощью redbeanphp

Здравствуйте, пишу регистрацию для сайтаПодключаю базу данных и пишет ошибка:

301