<meta name="format-detection" content="telephone=no">
. Esta metaetiqueta funciona en el navegador Safari predeterminado en dispositivos iOS y solo funcionará para números de teléfono que no están incluidos en un enlace telefónico, por lo que
1-800-123-4567
<a href="tel:18001234567">1-800-123-4567</a>
la primera línea no se formateará como un enlace si especifica la metaetiqueta, pero la segunda línea lo hará porque está envuelta en un ancla de teléfono.
Puede renunciar a la metaetiqueta todo junto y usar un mixin como
a[href^=tel]{
color:inherit;
text-decoration:inherit;
font-size:inherit;
font-style:inherit;
font-weight:inherit;
}
para mantener el estilo previsto de sus números de teléfono, pero debe asegurarse de envolverlos en un ancla de teléfono.
Si desea ser más cauteloso y protegerse contra el evento de un número de teléfono que no está formateado correctamente con una etiqueta de anclaje envolvente, puede explorar el DOM y ajustarlo con este script. Ajuste el patrón de reemplazo como desee.
$('body').html($('body').html().replace(/^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})/g, '<a href="tel:+1$1$2$3">($1) $2-$3</a>'));
o incluso mejor sin jQuery
document.body.innerHTML = document.body.innerHTML.replace(/^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})/g,'<a href="tel:+1$1$2$3">($1) $2-$3</a>');