Saltar al contenido

¿Qué expresión regular coincidirá con números de teléfono internacionales válidos?

Traemos la mejor solución que hemos encontrado en internet. Esperamos que te sea de mucha utilidad y si deseas compartir cualquier detalle que nos pueda ayudar a mejorar hazlo con libertad.

Solución:

+(9[976]d|8[987530]d|6[987]d|5[90]d|42d|3[875]d|
2[98654321]d|9[8543210]|8[6421]|6[6543210]|5[87654321]|
4[987654310]|3[9643210]|2[70]|7|1)d1,14$

Es el formato correcto para hacer coincidir un número de teléfono internacional genérico. Reemplacé el código de acceso internacional centrado en línea fija de EE. UU. 011 con el identificador de código de acceso internacional estándar de '+', haciéndolo obligatorio. También cambié el mínimo para el número nacional a al menos un dígito.

Tenga en cuenta que si ingresa números en este formato en la libreta de direcciones de su teléfono móvil, puede llamar con éxito a cualquier número en su libreta de direcciones sin importar a dónde viaje. Para líneas fijas, reemplace el signo más con el código de acceso internacional del país desde el que está llamando.

Tenga en cuenta que esto NO tiene en cuenta las reglas del plan de numeración nacional; específicamente, permite ceros y unos en ubicaciones que los planes de numeración nacionales pueden no permitir y también permite longitudes de números mayores que el plan de numeración nacional para algunos países (por ejemplo, EE. UU.).

Todos los códigos de países están definidos por la UIT. La siguiente expresión regular se basa en ITU-T E.164 y el Anexo del Boletín de Explotación de la UIT N.° 930 – 15.IV.2009. Contiene todos los códigos de países actuales y códigos reservados para uso futuro. Si bien podría acortarse un poco, decidí incluir cada código de forma independiente.

Esto es para llamadas que se originan en los EE. UU. Para otros países, reemplace el código de acceso internacional (el 011 al comienzo de la expresión regular) con lo que sea apropiado para el plan de marcación de ese país.

Además, tenga en cuenta que ITU E.164 define la longitud máxima de un número de teléfono internacional completo en 15 dígitos. Esto significa que un código de país de tres dígitos da como resultado hasta 12 dígitos adicionales, y un código de país de 1 dígito puede contener hasta 14 dígitos adicionales. Por lo tanto, la

[0-9]0,14$

al final de la expresión regular.

Lo que es más importante, esta expresión regular no significa que el número sea válido: cada país define su propio plan de numeración interno. Esto solo garantiza que el código de país sea válido.

^011(999|998|997|996|995|994|993|992|991| 990|979|978|977|976|975|974|973|972|971|970| 969|968|967|966 |965|964|963|962|961|960|899| 898|897|896|895|894|893|892|891|890|889|888| 887|886|885|884|883|882|881 |880|879|878|877| 876|875|874|873|872|871|870|859|858|857|856| 855|854|853|852|851|850|839|838|837|836 | 835 | 834 | 833 | 832 | 831 | 830 | 809 | 808 | 807 | 806 | 805 | 804 | 803 | 802 | 801 | 800 | 699 | 698 | |690|689|688|687|686|685|684|683|682| 681|680|679|678|677|676|675|674|673|672|671| 670|599|598|597|596 |595|594|593|592|591|590| 509|508|507|506|505|504|503|502|501|500|429| 428|427|426|425|424|423|422|421 |420|389|388| 387|386|385|384|383|382|381|380|379|378|377| 376|375|374|373|372|371|370|359|358|357|356 | 355|354|353|352|351|350|299|298|297|296|295| 294|293|292|291|290|289|288|287|286|285|284| 283|282|281 |280|269|268|267|266|265|264|263| 262|261|260|259|258|257|256|255|254|253|252| 251|250|249|248|247|246 |245|244|243|242|241| 240|239|238|237|236|235|234|233|232|231|230| 229|228|227|2 26|225|224|223|222|221|220|219| 218|217|216|215|214|213|212|211|210|98|95|94| 93|92|91|90|86|84|82|81|66|65|64|63|62|61|60| 58|57|56|55|54|53|52|51|49|48|47|46|45|44|43| 41|40|39|36|34|33|32|31|30|27|20|7|1)[0-9]0, 14$

Esta es una optimización adicional.

+(9[976]d|8[987530]d|6[987]d|5[90]d|42d|3[875]d|
2[98654321]d|9[8543210]|8[6421]|6[6543210]|5[87654321]|
4[987654310]|3[9643210]|2[70]|7|1)
W*dW*dW*dW*dW*dW*dW*dW*dW*(d1,2)$

(i) permite prefijos internacionales válidos
(ii) seguido de 9 o 10 dígitos, con cualquier tipo o colocación de delimitadores (excepto entre los dos últimos dígitos)

Esto coincidirá:
+1-234-567-8901
+61-234-567-89-01
+46-234 5678901
+1 (234) 56 89 901
+1 (234) 56-89 901
+46.234.567.8901
+1/234/567/8901

Valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.