Formater une chaîne en tant que numéro de téléphone en C#

Saad Aslam 12 octobre 2023
  1. Utilisez la méthode formatPhNumber() pour formater la chaîne en tant que numéro de téléphone en C#
  2. le code source complet pour formater un numéro de téléphone en C#
Formater une chaîne en tant que numéro de téléphone en C#

Cet article vous présentera le formatage d’un numéro de téléphone en C#. Nous discuterons en profondeur de la mise en œuvre et comprendrons son exécution.

Dans un premier temps, nous allons importer la bibliothèque System pour utiliser les fonctions ou les méthodes de C#.

Nous aurons également besoin d’une autre bibliothèque, System.Text.RegularExpressions, pour utiliser les expressions régulières de notre exemple afin de formater le numéro de téléphone en C#.

using System;
using System.Text.RegularExpressions;

Nous allons maintenant créer une classe nommée PhoneFormatter, et à l’intérieur de la classe, nous effectuerons toutes les opérations.

class PhoneFormatter {}

Utilisez la méthode formatPhNumber() pour formater la chaîne en tant que numéro de téléphone en C#

Nous allons créer une méthode nommée formatPhNumber() de la chaîne de type de données avec le modificateur d’accès public et passer deux arguments de la chaîne de type de données, nommés phoneNum et phoneFormat respectivement, à l’intérieur du pré-défini classe PhoneFormatter.

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

Après avoir terminé ces étapes, une vérification sera appliquée si le phoneFormat est passé vide, d’où nous appellerons cette méthode dans les prochaines étapes. Il attribuera à cette variable, un format de numéro de téléphone par défaut qui est (##) ###-#### dans ce cas.

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

Nous allons créer une variable regex avec la classe regex et passer une valeur à son constructeur. Ces deux lignes de code excluent tout autre élément de la valeur Regex's.

Il n’y a aucune chance que des alphabets ou des caractères spéciaux formatent le numéro de téléphone, à l’exception des chiffres.

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

Ensuite, nous attribuons à la variable phoneNum une nouvelle valeur en utilisant une autre fonction de la bibliothèque Regex appelée Replace().

Cela utilisera le format regex's précédemment défini et le remplacera par le numéro de téléphone que nous vous fournirons.

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

Ici, nous utilisons une condition pour voir si la variable phoneNum a une valeur, ce qui indique que la longueur de phoneNum est supérieure à 0.

Si tel est le cas, le numéro de téléphone sera converti au format entier 64 bits et le format du téléphone en une valeur de chaîne, qui sera ensuite affectée à la variable phoneNum.

Nous renverrons simplement phoneNum à la fin de la fonction formatPhNumber().

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

Voici la méthode principale à l’intérieur, que nous appellerons la méthode précédemment créée pour formater le numéro de téléphone.

static void Main() {}

Dans la méthode Main(), nous allons initialiser une variable string en l’appelant phNumber. Le numéro de téléphone sera enregistré pour le transmettre en tant que paramètre à la méthode.

string phNumber = "123456789";

Enfin, à l’intérieur de l’instruction print, nous appellerons la méthode formatPhNumber(), qui nécessite deux paramètres qui sont respectivement phoneNum et phoneFormat.

Ainsi, nous allons attribuer le numéro de téléphone avec phNumber et le format de téléphone avec une chaîne vide.

Comme nous l’avons vu précédemment, le fait de transmettre une valeur vide au format de téléphone se verra automatiquement attribuer la valeur par défaut initialisée auparavant, cela ne lèvera aucune exception.

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

le code source complet pour formater un numéro de téléphone 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, ""));
  }
}

Production:

(12) 345-6789
Auteur: 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

Article connexe - Csharp String