Extraer Números de Teléfono del Texto

Pega cualquier texto que mezcle prosa, firmas o HTML extraído con scraping, y extrae cada número de teléfono que contenga. El extractor reconoce los formatos norteamericanos (xxx) xxx-xxxx, las formas europeas separadas por espacios, el formato internacional compacto +CC..., y los estilos sueltos que la gente escribe en los correos electrónicos (555.123.4567, +44 20 7946 0958). La salida se devuelve tal como se encontró, para que puedas normalizarla más tarde con una biblioteca como libphonenumber.

Cómo extraer números de teléfono

  1. 1

    Pega la fuente

    Introduce el texto: páginas de contacto, firmas de correo electrónico, exportaciones CSV, registros de chat.

  2. 2

    Ejecuta el escaneo

    La expresión regular recorre el texto buscando secuencias de dígitos con al menos 7 dígitos más separadores reconocibles o códigos de país.

  3. 3

    Revisa las coincidencias

    Los resultados muestran un candidato por línea y los duplicados se eliminan automáticamente. Revisa la lista para detectar falsos positivos (números de pedido, fechas) y corrige el texto original si se ha colado algo.

  4. 4

    Copia o exporta

    Obtén la lista limpia como texto plano, un número por línea, lista para tu CRM o marcador.

Formas de números de teléfono que reconoce

Los números de teléfono son desordenados porque cada país tiene su propia convención y la gente ignora las reglas de todos modos. El extractor se enfoca en las formas prácticas que ves en texto real.

Formatos aceptados (ejemplo)

Formato Ejemplo Notas
E.164 +14155552671 El formato de referencia; usa este para almacenar.
Internacional separado +44 20 7946 0958 Línea fija del Reino Unido con grupos separados por espacios.
Norteamericano NANP (415) 555-2671 Paréntesis alrededor del código de área.
Norteamericano con puntos 415.555.2671 Común en firmas de correo electrónico.
Local europeo 020 7946 0958 Prefijo de tronco con cero inicial.
Mexicano de 10 dígitos 55 1234 5678 Sin código de país.

Falsos positivos a tener en cuenta

  • Números de orden y seguimiento. Un número de seguimiento de FedEx de 13 dígitos puede parecer un número de teléfono si se escribe con espacios. Inspecciona el contexto circundante.
  • Fechas. 2024 09 15 puede coincidir con un patrón de 7+ dígitos dependiendo del modo de la expresión regular. Filtra las fechas primero si tu fuente tiene muchas fechas.
  • Números de tarjetas de crédito. Los grupos de 16 dígitos con la forma 4xxx xxxx xxxx xxxx pueden coincidir. Censura los datos sujetos a PCI antes de la extracción.

Consejo: normaliza antes de almacenar

Tener varias entradas para el mismo número real es la causa de los quebraderos de cabeza al deduplicar en un CRM. Una pasada rápida con una biblioteca que entienda las reglas de cada país (libphonenumber, phonenumbers en Python, laravel-phone en PHP) lo convertirá todo a E.164, el único formato que deberías guardar en una base de datos.

Preguntas frecuentes

El extractor devuelve la coincidencia en bruto; la inferencia de país requiere un paquete de datos de códigos de marcación y reglas de longitud. Si solo te importa el prefijo +CC, esa parte se conserva textualmente en la salida.

El extractor solo devuelve el número principal; una extensión en línea como 555-2671 ext. 123 no forma parte de la coincidencia. Para un almacenamiento estricto en E.164, separa todo lo que venga después de ext, x o # en un campo aparte.

Sí, los números gratuitos de EE. UU. (800, 888, 877, 866, 855, 844, 833) coinciden con el patrón normal de NANP. Los números gratuitos locales del Reino Unido 0800 y formas similares también se reconocen porque parecen líneas fijas regulares.

No se guarda ninguna copia de tu entrada una vez que se envía la respuesta de extracción; el procesamiento ocurre en memoria dentro de la solicitud.

Herramientas relacionadas

Herramienta disponible en otros idiomas