Классическая версия кода виджета. Показ номера с нестандартным форматированием
Описание
В случаях, когда стандартный список форматирования номера не подходит, можно вывести номер с любом другом формате, воспользовавшись предыдущим кодом и изменив форматирование. Для удобства (и по желанию) можно воспользоваться поиском не по href, а по классификатору элементов с номером телефона (при условии, что классификаторы установлены на элементы).
Код:
В коде часть с поиском элементов можно заменить на другую:
document.querySelectorAll('[href="tel:+78005555522"]').forEach(function(e) {
...
});
Например, для поиска элементов по классификатору (class="mgo-number"):
document.querySelectorAll('.mgo-number').forEach(function(e) {
...
});
Выделенная часть отвечает за формат вывода номера, так как номер в переменной n содержится в формате 74 951 234 567.
'8 ('+n.substr(1,3)+') '+n.substr(4,3)+'-'+n.substr(7,2)+'-'+n.substr(9,2)
выведет номер в формате
Для вывода номера через «+7» соответственно:
'+7 ('+n.substr(1,3)+') '+n.substr(4,3)+'-'+n.substr(7,2)+'-'+n.substr(9,2)
Для вывода кода города из 4 цифр в скобках:
'8 ('+n.substr(1,4)+') '+n.substr(5,2)+'-'+n.substr(7,2)+'-'+n.substr(9,2)
выведет номер в формате
Для вывода 7 цифр без кода города:
n.substr(4,3)+'-'+n.substr(7,2)+'-'+n.substr(9,2)
выведет номер в формате 123−45−67
Оперируя сложением строк и функцией substr можно использовать любой другой формат вывода номера.
Показ номера, состоящего из нескольких частей
Если номер телефона разделен дополнительными элементами, например для разного отображения кода города и номера телефона, необходимо использовать форматирование вывода номера, как в предыдущем пункте, с добавлением необходимых элементов. В примере ниже поиск элемента будет выполнен по классификатору mgo-number. Код элемента с номером телефона:
Код ДКТ: