Dar formato a una cadena como número de teléfono en C#

Saad Aslam 12 octubre 2023
  1. Utilice el método formatPhNumber() para dar formato a una cadena como un número de teléfono en C#
  2. el código fuente completo para formatear un número de teléfono en C#
Dar formato a una cadena como número de teléfono en C#

Este artículo le presentará cómo formatear un número de teléfono en C#. Discutiremos profundamente la implementación y entenderemos su ejecución.

Primero, importaremos la Biblioteca Sistema para usar las funciones o métodos de C#.

También necesitaremos otra biblioteca, System.Text.RegularExpressions, para usar las expresiones regulares en nuestro ejemplo para formatear el número de teléfono en C#.

using System;
using System.Text.RegularExpressions;

Ahora crearemos una clase llamada PhoneFormatter, y dentro de la clase, realizaremos todas las operaciones.

class PhoneFormatter {}

Utilice el método formatPhNumber() para dar formato a una cadena como un número de teléfono en C#

Crearemos un método llamado formatPhNumber() de la cadena de tipo de datos con el modificador de acceso público y pasaremos dos argumentos de la cadena de tipo de datos, llamados phoneNum y phoneFormat respectivamente, dentro del predefinido clase PhoneFormatter.

class PhoneFormatter {
  public static string formatPhNumber(string phoneNum, string phoneFormat) {}
}

Después de completar estos pasos, se aplicará una verificación si el phoneFormat se pasa vacío, desde donde llamaremos a este método en los próximos pasos. Asignará esta variable, un formato de número de teléfono predeterminado que es (##) ###-#### en este caso.

if (phoneFormat == "") {
  phoneFormat = "(##) ###-####";
}

Crearemos una variable regex con la clase Regex y le pasaremos un valor a su Constructor. Estas dos líneas de código excluyen cualquier otra cosa en el valor de Regex.

No hay posibilidad de que ningún alfabeto o carácter especial formatee el número de teléfono, excepto los números.

Regex regex = new Regex(@"[^\d]");

Luego asignamos a la variable phoneNum un nuevo valor usando otra función de la biblioteca Regex llamada Replace().

Eso usará el formato de regex previamente definido y lo reemplazará con el número de teléfono que le proporcionaremos.

phoneNum = regex.Replace(phoneNum, "");

Aquí, estamos usando una condición para ver si la variable phoneNum tiene un valor, lo que indica que la longitud de phoneNum es mayor que 0.

Si lo hace, el número de teléfono se convertirá a formato entero de 64 bits y el formato de teléfono a un valor de cadena, que luego se asignará a la variable phoneNum.

Simplemente devolveremos phoneNum al final de la función formatPhNumber().

if (phoneNum.Length > 0) {
  phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
}
return phoneNum;

Aquí viene el método main en el interior, al que llamaremos el método creado previamente para formatear el número de teléfono.

static void Main() {}

Dentro del método Main(), inicializaremos una variable string llamándola phNumber. El número de teléfono se guardará para pasarlo como parámetro al método.

string phNumber = "123456789";

Por último, dentro de la instrucción print, llamaremos al método formatPhNumber(), que requiere dos parámetros que son phoneNum y phoneFormat, respectivamente.

Entonces, asignaremos el número de teléfono con phNumber y el formato de teléfono con una cadena vacía.

Como hemos discutido anteriormente, al pasar un valor vacío al formato de teléfono se le asignará automáticamente el valor predeterminado inicializado antes, no arrojará ninguna excepción.

Console.WriteLine(formatPhNumber(phNumber, ""));

el código fuente completo para formatear un número de teléfono en C#

using System;
using System.Text.RegularExpressions;
class PhoneFormatter {
  public static string formatPhNumber(string phoneNum, string phoneFormat) {
    if (phoneFormat == "") {
      phoneFormat = "(##) ###-####";
    }
    Regex regex = new Regex(@"[^\d]");
    phoneNum = regex.Replace(phoneNum, "");
    if (phoneNum.Length > 0) {
      phoneNum = Convert.ToInt64(phoneNum).ToString(phoneFormat);
    }
    return phoneNum;
  }
  static void Main() {
    string phNumber = "123456789";
    Console.WriteLine(formatPhNumber(phNumber, ""));
  }
}

Producción :

(12) 345-6789
Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Artículo relacionado - Csharp String