begin process at 2010 07 31 04:45:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaînes de caratères

 > ASP.NET - FORMATTER UN NUMÉRO DE TÉLÉPHONE EN AFFICHAGE FRANÇAIS

ASP.NET - FORMATTER UN NUMÉRO DE TÉLÉPHONE EN AFFICHAGE FRANÇAIS


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaînes de caratères Source .NET ( DotNet ) Niveau :Débutant Date de création :14/08/2003 Date de mise à jour :14/08/2003 12:31:18 Vu :11 105

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Souvent avec des applications où l'on laisse plusieurs utilisateurs gérer des données, on voit apparaître des différences dans celles-ci.
Un classique est le Numéro de Téléphone (ou Fax) qui chez certains se met en xx.xx.xx.xx.xx, d'autres xx-xx-xx-xx-xx, ou encore xx/xx/xx/xx/xx, ...

On voit donc ressortir une différence entre les données et sur un affichage de type listing, le rendu n'est pas très intéressant. Il faut donc voir à formatter cet affichage en ne tenant pas compte de ce que l'utilisateur à rentrer et en choisissant son séparateur (qui dans mon cas sera le ".").

Source

  • ' La fonction est très simple et fait une suppression des caractères et
  • ' remplace ces ponctuations par notre séparateur
  • ' -----------------------------------------------------
  • Public Function FormatteTelephone(ByVal ChaineTel As String) As String
  • ' Renvoie le Numéro de téléphone formatté selon le format Francais :
  • ' - xx.xx.xx.xx.xx
  • ' Supprime les characteres possibles (- / . \ qui peuvent se présenter)
  • If ChaineTel <> "" And Not ChaineTel Is Nothing Then
  • Dim Séparateur As Char = "."
  • Dim Temp As String = ""
  • Dim TempResult As String = ""
  • Dim longueur As Integer = 0
  • Dim i As Integer = 0
  • ' Suppression des characteres parasites
  • Temp = Replace(ChaineTel, "-", "")
  • Temp = Replace(Temp, ".", "")
  • Temp = Replace(Temp, "/", "")
  • Temp = Replace(Temp, ";", "")
  • Temp = Replace(Temp, ":", "")
  • Temp = Replace(Temp, ",", "")
  • Temp = Replace(Temp, "\", "")
  • Temp = Replace(Temp, " ", "")
  • longueur = Temp.Length
  • If (longueur Mod 2) <> 0 Then
  • longueur += 1
  • End If
  • For i = 0 To (longueur - 2) Step 2
  • TempResult &= Mid(Temp, i + 1, 2)
  • If i <> (longueur - 2) Then
  • TempResult &= Séparateur
  • End If
  • Next
  • Return TempResult
  • End If
  • End Function
  • ' -----------------------------------------------------
  • 'L'appel se fait simplement comme ceci :
  • MonLabel.text = FormatteTelephone(Trim(MonChampTelBase))
' La fonction est très simple et fait une suppression des caractères et
' remplace ces ponctuations par notre séparateur

' -----------------------------------------------------
Public Function FormatteTelephone(ByVal ChaineTel As String) As String
 ' Renvoie le Numéro de téléphone formatté selon le format Francais :
 '           - xx.xx.xx.xx.xx
 ' Supprime les characteres possibles (- / . \  qui peuvent se présenter)
  If ChaineTel <> "" And Not ChaineTel Is Nothing Then
   Dim Séparateur As Char = "."
   Dim Temp As String = ""
   Dim TempResult As String = ""
   Dim longueur As Integer = 0
   Dim i As Integer = 0

    ' Suppression des characteres parasites
    Temp = Replace(ChaineTel, "-", "")
    Temp = Replace(Temp, ".", "")
    Temp = Replace(Temp, "/", "")
    Temp = Replace(Temp, ";", "")
    Temp = Replace(Temp, ":", "")
    Temp = Replace(Temp, ",", "")
    Temp = Replace(Temp, "\", "")
    Temp = Replace(Temp, " ", "")

    longueur = Temp.Length
    
    If (longueur Mod 2) <> 0 Then
     longueur += 1
    End If
    For i = 0 To (longueur - 2) Step 2
     TempResult &= Mid(Temp, i + 1, 2)
    If i <> (longueur - 2) Then
     TempResult &= Séparateur
    End If
   Next
  Return TempResult
 End If
End Function

' -----------------------------------------------------
'L'appel se fait simplement comme ceci :

MonLabel.text = FormatteTelephone(Trim(MonChampTelBase))

 Conclusion

Il s'agit d'une simple fonction que vous pouvez adapter facilement.

Bon coding.

Romelard Fabrice (Alias F___)


 Sources du même auteur

Source .NET (Dotnet) SHAREPOINT 2007 - OBTENIR LA LISTE DES WEBPARTS DANS UNE PAG...
Source .NET (Dotnet) SHAREPOINT 2007 - OBTERNIR LA LISTE DES FEATURES D'UN SITE
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES COLLATIONS SHAREPOINT...
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES LANGUES INSTALLÉES DA...
Source .NET (Dotnet) C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP

 Sources de la même categorie

FONCTION : REMPLACER LES CARRACTÈRES ACCENTUÉS PAR LEUR ÉQUI... par promeythey
CHERCHER ET REMPLACER UN MOT DANS UN FICHIER TEXTE par roro59650
CONVERSION CARACTÈRES UTF-8 VERS FRANÇAIS par EricDD
FONCTION UCFIRST EN ASP par DesignerCreator
Source .NET (Dotnet) FONCTIONS DE VÉRIFICATION DE LA SYNTAXE D'UNE CHAINE par vladam

Commentaires et avis

Commentaire de jesusonline le 14/08/2003 18:30:12 administrateur CS

Pas mal ta source, assez simpe mais peut tj servir mais au lieu de tous tes replace, je pense qu'il serait preferable de faire une boucle et que tu mettes tous les numeros sauf les caracteres numeriques

for i = 1 to 255
      if i &gt;100 or i &lt;110 then
           exit for
      end if
      Temp = Replace(Temp, chr(i), "")
next

les nombres 100 et 110 sont pris au hasard je connais pas par coeur les codes de caractères, mais c juste pour te montrer ce que je pensais :)

@+

Commentaire de dim3311 le 15/08/2003 08:39:05

pour ce types de replace en masse, il est plus économique et estétique d'utiliser les regular expressions

et puis, si tu veux avancer sur le sujet, gère aussi les doubles espaces comme 01  45 12 ...
et ce type de systeme : +33660...

y'a encore du boulot  :)

A +

Commentaire de dim3311 le 15/08/2003 08:41:33

sorry pour les doubles espaces, remarque annulée  :)

Commentaire de fabrice69 le 15/08/2003 12:54:16 administrateur CS

J'ai précisé à la fin de l'article :
"Il s'agit d'une simple fonction que vous pouvez adapter facilement."

Si tu as des +33 &lt; tu adaptes, dans le cas où j'ai développé cette 'petite' fonction, je ne cherchais pas la performance mais juste que ca fasse ce que j'avais besoin.

Merci tout de même pour les remarque ca servira sans doute à d'autres qui reprendront cette source.

F___

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales