I Adressboks inställningar kan man ju välja att "formatera telefonnummer automatiskt" och göra ett anpassat format för detta, men hur ska detta formuleras för att göra svenska telefonnumer snyggt formaterade? Svaret är att mata in ett femtiotal rader.
Så här fungerar det: Svenska abonnentnummer är åtta till tio siffror långa inklusive riktnummer. Vi börjar med de tiosiffriga numrena. Ett tiosiffrigt stockholmsnummer formateras 08-XXX XXX XX. Detta matar vi in först i formatregellistan som 08-### ### ##. När telefonnumret 0855512345 påträffas matchas detta mot reglerna och visas som 08-555 123 45. Sedan vill jag att tiosiffriga nummer i riktnummer som är tre siffror långa ska formateras som tex 031-412 34 56. Enda sättet att fixa detta är att mata in alla dessa 19 riktnummer följt av -### ## ##. Slutligen säger vi att resterande runt 200 till antalet fyrsiffriga riktnummer formateras 0###-## ## ##.
Icke-geografiska riktnummer såsom 010, 020 och 070 kan formateras som man vill eftersom man alltid slår riktnummret, men jag har valt att dela dessa efter tredje siffran förutom då fjärde siffran är 0. Exempel 077-123 45 67, 020-123 45 67, 070-123 45 67, men 0200-12 34 56, 0730-12 34 56. Därför lägger jag in formatet ###0-## ## ## före 07#-### ## ##. Det blir så här (ordningen har betydelse):
08-### ### ##
###0-## ## ##
010-### ## ##
011-### ## ##
013-### ## ##
016-### ## ##
018-### ## ##
019-### ## ##
020-### ## ##
021-### ## ##
023-### ## ##
026-### ## ##
031-### ## ##
033-### ## ##
035-### ## ##
036-### ## ##
040-### ## ##
042-### ## ##
046-### ## ##
054-### ## ##
060-### ## ##
063-### ## ##
090-### ## ##
07#-### ## ##
0###-## ## ##
Sen måste vi göra samma sak för niosiffriga telefonnummer. Här kan vi skippa 010 och 07X:
08-### ## ##
011-## ## ##
013-## ## ##
016-## ## ##
020-## ## ##
021-## ## ##
023-## ## ##
026-## ## ##
031-## ## ##
033-## ## ##
035-## ## ##
036-## ## ##
040-## ## ##
042-## ## ##
044-## ## ##
046-## ## ##
054-## ## ##
060-## ## ##
063-## ## ##
090-## ## ##
0###-### ##
Åttasiffriga nummer finns inte med fyrsiffriga riktummer så nästa två rader räcker för dessa:
08-## ## ##
0##-### ##
Om man orkar kan man sedan göra om alltihop igen med +46 framför för att fånga upp internationellt formaterade telefonnummer, dvs
+46 8 ### ### ##
+46 11 ### ## ##
och så vidare. Jag har också struntat i icke-abonnentnummer som 099-nummer
Jag har inte hittat vart dessa inställningar lagras och har därför inte kommit på något smidigare sätt än att mata in detta en rad i taget. Någon som vet hur? Om det gick att sprida inställningarna i en fil skulle jag kunna mata in regler för en massa olika länder och lägga upp på webben för allas bekvämlighet.