Ga naar inhoud
  • 0

'formatteren' van telefoonnummers


Konkel Noen

Vraag

8 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...