¿Cómo escribir un número de celular de manera internacional usando JavaScript?

El formato E.164 se utiliza para convertir un número de teléfono a un formato internacional. Es un estándar reconocido internacionalmente que define un plan general de numeración.

El formato de número internacional según E.164 es el siguiente:

[+][country code][area code][local phone number]
  • +: signo más
  • código de país: Código de país internacional. Viene después del signo más. por ej. Es +91 para India mientras que es +1 para EE. UU.
  • código de área: sigue después del código internacional del país. Los códigos de área de India suelen tener 2, 3 o 4 dígitos. por ej. En India, Kolkata tiene un código de área de 3211 y Mumbai tiene un código de área de 22.
  • número de teléfono local: número de teléfono local

Artículo de requisito previo: ¿Cómo escribir expresiones regulares?

El concepto de expresiones regulares se utiliza para convertir un número de teléfono celular en forma internacional. Las expresiones regulares son una forma generalizada de hacer coincidir patrones con secuencias de caracteres.
Algunos ejemplos según el formato E.164

Without international code 
localNumber: 9760064000
intlNumber: (976) 006-4000

With international code 
localNumber: 919760064000
intlNumber: +91 (976) 006-4000 

Ejemplo 1: este código usa la expresión regular /^(\d{3})(\d{3})(\d{4})$/ para validar los números de teléfono. Si se determina que el número es válido, se devolverá una array y, si no, se devolverá un valor nulo . A continuación, los elementos de la array devuelta se unen de acuerdo con el formato E.164 para números internacionales.

  • Programa:

    <!DOCTYPE html>
    <html lang="en">
      
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
            content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible"
            content="ie=edge">
        <title>
            Cell phone number in an International way
        </title>
          
        <style>
            body {
                text-align: center;
            }
              
            h1 {
                color: green;
            }
        </style>
    </head>
      
    <body>
        <h1>GeeksforGeeks</h1>
          
        <h3>
            Cell phone number in
            an International way
        </h3>
          
        <script>
            var localNumber = prompt("Please enter your number");
      
            // Using regular expression to check whether
            // string is valid or not
            var newArray = localNumber.match
                    (/^(91|)?(\d{3})(\d{3})(\d{4})$/);
      
            // Checking the international code
            var intlCountryCode = (newArray[1] ? '+91' : '');
      
            // Resolving the above array we get
            // the international number
            var internationalNumber = intlCountryCode +
                    ' (' + newArray[2] + ') ' + newArray[3]
                    + '-' + newArray[4];
      
            document.write("The number in international" + 
                        "form is: " + internationalNumber);
        </script>
    </body>
      
    </html>
  • Producción:

Ejemplo 2: Este código utiliza la expresión regular /^(91|)?(\d{3})(\d{3})(\d{4})$/ para validar los números de teléfono con código internacional. Se sigue el mismo enfoque que el anterior para obtener el número de teléfono en formato internacional.

  • Programa:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
            content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible"
            content="ie=edge">
        <title>
            Cell phone number in an International way
        </title>
          
        <style>
            body {
                text-align: center;
            }
              
            h1 {
                color: green;
            }
        </style>
    </head>
    <body>
        <h1>GeeksforGeeks</h1>
        <h3>
            Cell phone number in
            an International way
        </h3>
          
        <script>
          
        var localNumber= prompt("Please enter your number");
          
        // Using regular expression to check
        // whether string is valid or not
        var newArray = localNumber.match
                    (/^(91|)?(\d{3})(\d{3})(\d{4})$/);
          
        // Checking the international code
        var intlCountryCode=(newArray[1]?'+91':'');
          
        // Resolving the above array we get
        // the international number
        var internationalNumber = intlCountryCode + ' ('
                    + newArray[2] + ') ' + newArray[3]
                    + '-' + newArray[4];
          
        document.write("The international number is: "
                    + internationalNumber); 
        </script>
    </body>
      
    </html>
  • Producción:

Publicación traducida automáticamente

Artículo escrito por RitikGarg2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *