Tips: Formaterade telefonnr i Adressbok

Tråden skapades och har fått 14 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Norrköping
  • 2006-05-02 00:03

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.

  • Medlem
  • Kungsbacka
  • 2006-05-02 08:12

Bra jobbat! Har retat mig på att det blir olika formateringar. Ska testa ditt genomtänkta förslag.
/Bauer

  • Medlem
  • Kungsbacka
  • 2006-05-02 08:26

La in det på 10 minuter och nu funkar det precis som jag vill ha det. Tack för tipset!
/Bauer

Snyggt tips - och användbart som bara den.

Ursprungligen av MarkDF:

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.

plist-filerna är numera i något slags binärformat och kan därför svårligen redigeras med texthanterare. Jag brukar därför "spara om" plist-filerna som XML, redigera dem och därefter läsa in dem igen. Testa följande:

Stänga av Adressboken
Leta fram ~/Library/Preferences/com.apple.AddressBook.plist
Öppna den filen med Property List Editor
Spara den som XML-fil och stäng Property List Editor
Redigera XML-filen i textredigerare (lättare att batchersätta uttryck)
Spara XML-filen
Öppna filen i Property List Editor igen och spara den på rätt plats
Öppna Adressboken och det bara fungerar

Den aktuella nyckeln heter ABPhoneFormat-PhoneFormatter

//Mikael

Tack för tipset och förarbetet!

Finns det någon offentlig standard för formatering av nummer i Sverige? Jag ser ibland fyra siffrors riktnummer och ibland tre för mobil-nummer. Till exempel 073 xxx xx xx alternativt 0704 xx xx xx. De andra gamla vanliga nummren verkar det inte råda tvivel om men finns det något ställe som rekomenderar formateringar angående detta?

  • Medlem
  • Norrköping
  • 2006-05-02 14:48
Ursprungligen av Mikael Svensson:

[...]
Redigera XML-filen i textredigerare (lättare att batchersätta uttryck)
[...]

Tack, mycket enklare att jobba med filen så. Då gäller det bara att hitta ett sätt att dela med sig av det man matat in till t ex morsan. Finns det något sätt att slå samman .plist-filer utan att skriva över de andra nycklarna? Så att man kan distribuera en XML-fil med bara PhoneFormatter definierad och ett skript som "merge:ar" in detta i plist:en.

Ursprungligen av John Stalberg:

[...] De andra gamla vanliga nummren verkar det inte råda tvivel om men finns det något ställe som rekomenderar formateringar angående detta?

Det finns rekommendationer, men ingen superofficiell sådan vad jag vet. När nu Telia bara är en operatör, så ligger sektorsansvaret på Post- och telestyrelsen och från dom har jag inte sett någon rekommendation om formatering av telefonnummer, däremot avgör dom hur långt ett riktnummer är. Termen som används är nationell destinationskod och de icke-geografiska är (med nollan tillagd) 010, 020, 070, 071, 073, 074, 075, 076, 077, 078, 0900, 0939, 0944 och 099. Kombinerar man detta med t ex Myndigheternas Skrivregler som säger att bindestrecket alltid ska komma efter riktnumret så kan man tolka 073-012 34 56 som rättskrivet och 0730-12 34 45 som felskrivet. PTS själv skriver ibland 08 6789012 istf. 08-678 90 12.

Men dessa skrivregler är oftast interna rekommendationer (Så gör vi!) och de riktigt stilbildande är ju telefonkatalogerna och teleoperatörerna själva. Första gången man ser sitt telefonnummer är ju i operatörernas papper. Förvirringen började när marknaden öppnades på riktigt i och med GSM. Telia skrev 070-### ## ##, men t ex Europolitan skrev sina nummer 0708-## ## ## (070-8 var deras egen nummerserie). En annan bidragande orsak var att vi instinktivt är obekväma med "abonenntnummer" som börjar med 0 (omöjligt att slå lokalt) och därför trivs bättre med 0200-12 34 45 än med 020-012 34 45. Tyvärr valde PTS att släppa serien 073-0 (men inte 070-0 eller 076-0!). Ytterligare en sak som bidrar är att gratisnumret 020-XY ZX YZ är speglat som 077-1XY ZX YZ, bl a för att det ska kunna nås från utlandet. När företag som SJ tröttnade på att kunderna ringde gratis till 020-75 75 75 övergick dom till att skriva 0771-75 75 75 istället för 077-175 75 75 för att behålla samma "abonenntnummer". När 071-serien blev ökänd skrev företagen gärna 071X-XXX XX för att maskera riktnumret.

Alltså: 07X-XXX XX XX är mest rätt och jag är kass på att fatta mig kort.

Ursprungligen av MarkDF:

Alltså: 07X-XXX XX XX är mest rätt och jag är kass på att fatta mig kort.

Kanon! Jag är dålig på att fatta mig kort jag med, men en hejare på att fatta mig långt i stället!Tackar för ett lagom långt och mycket informativt svar!

  • Medlem
  • Västerås
  • 2006-05-02 23:23

”Way interesting” för en normalsvensk alltså!

Nu fattar jag hur telefonnummer hänger ihop här och där. Och hur dom skall skrivas.

  • Medlem
  • 2006-05-03 00:00

Stort tack och en jätte-guldstjärna för tipset!

Att fixa till telefonnumren har jag haft på en att-göra-lista någonstans i ungefär hur länge som helst.

Jag tycker det är mest praktiskt att ha telefonnummer formaterade så som jag delar upp dom för att lättast memorera dom.
Om t.ex nummret är 08-99099123, så vill jag ha det formaterat som 08-99 0 99 123
Om jag nu skulle vilja få bort auto-formateringen alldeles, hur gör man då?

  • Medlem
  • Lund
  • 2011-11-16 10:40

Dags att väcka liv i en riktigt gammal tråd...

Nu sitter jag en en fräsch installation av Lion (på två datorer dessutom). Tyvärr är ju den inbyggda formatteringen fortfarande kass på svenska nummer.

Det är ju himla trist att knappa in alla dessa rader manuellt, och tyvärr verkar ovanstånde tips inte funka längre.
Så min fråga är; är det någon som har en lösning för Lion?

Samma sak för Lion:

Leta upp ~/Library/Preferences/com.apple.AddressBook.plist
Öppna med en textredigerare (jag använder TextWrangler)
Klistra in nedanstående (istället för det befintliga) under nyckeln <key>ABPhoneFormat-PhoneFormatter</key>

<array>
<string>08-### ### ##</string>
<string>###0-## ## ##</string>
<string>010-### ## ##</string>
<string>011-### ## ##</string>
<string>013-### ## ##</string>
<string>016-### ## ##</string>
<string>018-### ## ##</string>
<string>019-### ## ##</string>
<string>020-### ## ##</string>
<string>021-### ## ##</string>
<string>023-### ## ##</string>
<string>026-### ## ##</string>
<string>031-### ## ##</string>
<string>033-### ## ##</string>
<string>035-### ## ##</string>
<string>036-### ## ##</string>
<string>040-### ## ##</string>
<string>042-### ## ##</string>
<string>046-### ## ##</string>
<string>054-### ## ##</string>
<string>060-### ## ##</string>
<string>063-### ## ##</string>
<string>090-### ## ##</string>
<string>07#-### ## ##</string>
<string>08-### ## ##</string>
<string>011-## ## ##</string>
<string>013-## ## ##</string>
<string>016-## ## ##</string>
<string>020-## ## ##</string>
<string>021-## ## ##</string>
<string>023-## ## ##</string>
<string>026-## ## ##</string>
<string>031-## ## ##</string>
<string>033-## ## ##</string>
<string>035-## ## ##</string>
<string>036-## ## ##</string>
<string>040-## ## ##</string>
<string>042-## ## ##</string>
<string>044-## ## ##</string>
<string>046-## ## ##</string>
<string>054-## ## ##</string>
<string>060-## ## ##</string>
<string>063-## ## ##</string>
<string>090-## ## ##</string>
<string>0###-### ##</string>
<string>0###-## ## ##</string>
<string>08-## ## ##</string>
<string>0##-### ##</string>
</array>

Klart

Snyggt jobbat herr Svensson!

  • Medlem
  • Lund
  • 2011-11-16 15:56

Tack. Det visade sig att det var problem med de texteditorer jag provade med. När jag testade med TextWrangler funkade det som vanligt. Tack.

  • Medlem
  • 2011-12-26 01:03

Bra!!

1
Bevaka tråden