Jump to content
  • 0

'formatteren' van telefoonnummers


Konkel Noen

Question

Er bestaan verschrikkelijk lange formules voor het formatteren van tel.nrs.

Ik zou al vreselijk content zijn als ik die heb voor de ons omringende landen.

Wat gebruiken jullie ?

 

Moeten er volgens mij zo uit zien :

Belgisch:

(02) 123 45 67

(050) 12 34 56

(0475) 12 34 56

 

Frankrijk:

(0033) 12 34 56 78

(0033) 123 45 67 89

Link to comment

8 answers to this question

Recommended Posts

  • 0

De zonegetallen komen in een apart veld, dus die kunnen we hier buiten beschouwing laten.

Voor de verschijningvorm van de eigenlijke telefoonnummers moet je drie dingen doen:

1) zorg ervoor dat na de input door de gebruiker geen spaties meer voorkomen

2) check de lengte van het veld

3) gebruik een Case-functie om - naargelang het resultaat van 2 hierboven - je telefoonnummer te ontbinden in delen (gebruik hiertoe de Left, Middle en Right-functies).

Link to comment
  • 0
Een goede techniek om telefoonnummer te formateren is via een "mask" techniek.

Bijvoorbeeld "(##)##.##.##". Je maakt dan 1 alles-overkoepelende calculatie die de "#" tekens vervangt door de cijfers in het telefoonnummer.

 

In het hier reeds aangehaalde voorbeeld en de Filemaker Business Tracker wordt er vanuit gegaan dat de lengte van een telefoonnummer per land een constante is en het aantal digits van het kengetal tevens constant is. Hoe wordt hier door jullie mee omgegaan? Ik begrijp de post van AvD ivm left, middle en right wel maar ik zie niet direct in hoe ik dat en het masken kan combineren?

 

Ik experimenteer wel met v8 en dit was het meest relevante dat ik kon vinden op het forum.

Link to comment
  • 0

Vanaf 7 gebruiken we nog altijd een mask, maar werken met een filter, wwarna het resultaat van de filtering getoond wordt.

 

Dat wordt dan iets zoals (dit is wel een deel van een CF, maar de calc is dezelfde):

 

Let( phone = Filter( PhoneNumber ; "0123456789" );

 

Case(

Length ( PhoneNumber ) < 7 ;

PhoneNumber & TextColor ( " 7 digits Required" ; RGB ( 255 ; 0 ; 0 ) ) ;

Left( PhoneNumber ; 3) & "-" & Middle ( PhoneNumber ; 4 ; 2 ) & "-" & Middle( PhoneNumber ; 6 ; 2) &

Case(

Length ( PhoneNumber ) > 7 ; " xtn " & Middle( PhoneNumber ; 8 ; 999 )

)))

 

Hierbij kun je de lengte aanpassen aan de nood....

De uitkomst van de bereking zal aangeven welke nummerkes teveel zijn....

 

Ik laat eerst een test doen op het land, waarna de juiste of overeenkomstige CF genomen wordt om het telefoonnummer in de gewenste vorm te tonen, voor cellphones wordt dit hier:

 

Let( phone = Filter( PhoneNumber ; "0123456789" );

 

Case(

Length ( PhoneNumber ) < 7 ;

PhoneNumber & TextColor ( " 7 digits Required" ; RGB ( 255 ; 0 ; 0 ) ) ; "(044) 999-" &

Left( PhoneNumber ; 3) & "-" & Middle ( PhoneNumber ; 4 ; 2 ) & "-" & Middle( PhoneNumber ; 6 ; 2) &

Case(

Length ( PhoneNumber ) > 7 ; " xtn " & Middle( PhoneNumber ; 8 ; 999 )

)))

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...