Empieza ahora


Los números de teléfono varían en forma y se manejan de manera diferente de un país a otro. el módulo de betterCallSaul.js puede ayudarnos a formatear correctamente los números de teléfono junto con los códigos de países y también validar campos en interfaces.

CDN

En ejecución

Interpretación de un número

digita un número de teléfono internacional en el input de aquí abajo para ver cómo extrae los datos del número




Buscar números en texto

Escribe textos en lenguaje natural que contengan números de teléfono con formato internacional.



Tutorial

Una vez importada la librería en el head, ya sea con la CDN o si descargaste el archivo, podrás ejecutar el código que se presentará a continuación:

Analizando un número de teléfono


Veamos cómo podemos usar el _getInfoInNumber(), para que nos retorne un objeto con la información, debemos pasarle de argumento el número de teléfono completo, incluido el código del país. La función _getInfoInNumber() devuelve los siguientes datos: el código del país (codeCountry), el código de llamada del país (codeCall), el número sin el código de llamada del país (numberWithoutCodeCall), el número de completo (complete), el nombre del país en inglés (nameCountry) y en español (nameCountryES), el formato nacional del número (formatNational), el formato internacional (formatInternational), el formato rfc 3966 (formatRFC3966), el tipo de línea (type), estima en falso o verdadero de si es posible o no el número (isPosible) y además busca rutas de imágenes representativas para el país, una en relación 1:1 (flagSVG_1x1) y la otra en 4:3 (flagSVG_4x3).

Analizando cadenas con ruido.

Se le denomina ruido a toda a toda perturbación textual que haya en el input, que no corresponda con un número de teléfono, datos que para el intérprete no tienen ningún sentido, puesto que no fue entrenado para esto. El intérprete es capaz de extraer los números de teléfono con formato internacional que hayan en una cadena.

Para la cadena "Mi número es (+57)310-725 7814, me llamo Jeff", el número a extraer es +573107257814, tiene ruido por la derecha, por la izquierda y en medio, sin embargo el siguiente código extraerá y retornará los datos de todos los números con formato internacional que encuentre en la cadena suministrada
La función _findPhoneNumbers() devuelve un arreglo con el _getInfoInNumber() de todos los números encontrados

Salida esperada:

¿Cómo funciona?

Esto lo hace por medio de expresiones regulares, y algoritmos, pudiendo retornar así un objeto con la información que puede extraer del número, para que quede claro, les voy a explicar con un ejemplo lo que hace internamente el programas.
Hablemos en el caso de Colombia, los teléfonos tienen 8, 10 y 11 dígitos, debe existir una función que una vez reconocido el indicativo del país, extraiga el resto del número para hacer las correspondientes verificaciones. En el caso de los números con 10 dígitos.

Y bueno, en esencia así es la lógica con la que trabaja el programa