Saltar al contenido

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

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)d{1,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 la línea terrestre 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 del 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 de 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á marcando.

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

Todos los códigos de país están definidos por la UIT. La siguiente expresión regular se basa en UIT-T E.164 y en el anexo del Boletín de operaciones de la UIT n.o 930 – 15.IV.2009. Contiene todos los códigos de países actuales y los 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 EE. UU. Para otros países, reemplace el código de acceso internacional (el 011 al comienzo de la expresión regular) con el 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 telefónico 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}$

a el final de la expresión regular.

Lo más importante es que 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 asegura 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 | 697 | 696 | 695 | 694 | 693 | 692 | 691 | 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*(d{1,2})$

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

Esto coincidirá con:
+ 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

¡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. Los campos obligatorios están marcados con *