webForumDet fria alternativet

Skrivregler för telefonnummer

.NET

12 svar · 5 507 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Frågan#1

Är det någon som har några idéer på hur man bäst formatterar diverse olika tal? Exempelvis telefonnummer skrivs i någon av dessa former:

Sexsiffriga: 08-12 34 56
Sjusiffriga: 08-123 45 67
Åttasiffriga: 08-123 456 78

Med landskod:+46 (0)8-12 34 56

Normalt skrivs telefonnummer utan landskod.

Se http://webbprofilen.ams.se/skrivregler.asp#regel:telefonnummer

Postnummer skrivs:

Normalt: 123 45
Med landskod: SE-123 45

osv

Funktion finns ju i Microsoft Word.

Medlem sedan juli 200012 978 inlägg
#2

Telefonnummer har ingen standard vad jag vet.
Det du skriver som exempel tycker jag är rätt!
Du får se lite till syftet, kom ihåg att vi nog kan bli av med riktnr såsom i Danmark. IP telefoni kräver ofta landsnummer men då inte som i ditt exempel..
Ta bort bindestrecket eftersom systematiken när det gäller mobilnr redan är förstörd.
Dessutom gör det inget om du slår inledande riktnr även om du befinner dig i just det riktnummerområdet.

Medlem sedan nov. 20017 144 inlägg
#3

Tycker det ser bra ut med ett tillägg:
Femsiffriga: 0123-123 45
Sexsiffriga: 08-12 34 56
Sjusiffriga: 08-123 45 67
Åttasiffriga: 08-123 456 78

På landet finns det faktiskt fortfarande fast man inte kan tro det... :)
Gott Slut!

Medlem sedan jan. 20023 327 inlägg
#4

Jesper T skrev:

Tycker det ser bra ut med ett tillägg:
Femsiffriga: 0123-123 45

På landet finns det faktiskt fortfarande fast man inte kan tro det... :)
Gott Slut!

Verifieras, har själv ett hemnummer som följer detta mönster :)

Medlem sedan juli 20041 183 inlägg
#5

Bra sida det där om man känner sig osäker :)

Medlem sedan juni 20001 257 inlägg
#6

Hej alla. Alright, jag formulerade mig lite otydligt. Jag tänkte mer på om det var någon som hade idéer på en C#-metod som formaterar telefonnummer.

Medlem sedan juli 200012 978 inlägg
#7

Även om du skriver i C# måste du ha en standard eller regler och kanske ett syfte med din formering.
Eller?

Medlem sedan juli 20041 183 inlägg
#8

Nu är inte detta C# utan VB.Net men det borde inte vara så svårt att skriva om...

'Create a var. named rightNow and set it to the current date/time
Dim rightNow as DateTime = DateTime.Now
Dim s as String 'create a string

s = rightNow.ToString("MMM dd, yyyy")

I vanlig ASP finns en funktion för att skriva ut långt datumformat på typen "den 12 januari 2005". Finns inte den funktionen i de nya .Net språken? Eller ska man kanske använda ToString(""), för det borde också fungera men verkar krångligare?

Medlem sedan juni 20001 257 inlägg
#9

Hoppsan, jag är virrig idag. Jag menar formattering av telefonnummer, och inte datum. Och ja, tanken är att reglerna skulle vara de som jag refererade till i första inlägget.

Medlem sedan mars 20032 667 inlägg
#10

Språknämnden ger rekommendationer hur siffrorna i telefonnummer ska grupperas och skrivas. Några fasta regler finns dock inte. Se punkt 163 i boken Svenska skrivregler.

Medlem sedan juli 20041 183 inlägg
#11

När det gäller telefonnummer får du nog skriva en egen klass för det...

Medlem sedan juni 20001 257 inlägg
#12

Ja, jag skriver gärna en egen klass. Men har ni sett någon webbsida som diskuterar detta? Har ni sett någon liknande klass? Det är ju samma princip för andra fraser som behöver formateras, till exempel postnummer.

Jag tänker mig att jag använder regular expressions.

Medlem sedan juli 2003465 inlägg
#13
	Function FormateraTfn(ByVal F As String) As String
		Dim str As String
		If Left(F, 2) = "08" Then
			Select Case Len(F)
				Case 7
					str = str & Left(F, 2) & " " & Mid(F, 3, 3) & " " & Right(F, 2)
				Case 8
					str = str & Left(F, 2) & " " & Mid(F, 3, 2) & " " & Mid(F, 6, 2) & " " & Right(F, 2)
				Case 9
					str = str & Left(F, 2) & " " & Mid(F, 3, 3) & " " & Mid(F, 6, 2) & " " & Right(F, 2)
				Case 10
					str = str & Left(F, 2) & " " & Mid(F, 3, 3) & " " & Mid(F, 6, 3) & " " & Right(F, 2)
			End Select
		Else
			Select Case Len(F)
				Case 8
					str = str & Left(F, 3) & " " & Mid(F, 4, 3) & " " & Right(F, 2)
				Case 9
					str = str & Left(F, 3) & " " & Mid(F, 4, 2) & " " & Mid(F, 6, 2) & " " & Right(F, 2)
					str = str & Left(F, 4) & " " & Mid(F, 5, 3) & " " & Right(F, 2)
				Case 10
					str = str & Left(F, 3) & " " & Mid(F, 4, 3) & " " & Mid(F, 7, 2) & " " & Right(F, 2)
					str = str & Left(F, 4) & " " & Mid(F, 5, 2) & " " & Mid(F, 7, 2) & " " & Right(F, 2)
				Case 11
					str = str & Left(F, 4) & " " & Mid(F, 5, 3) & " " & Mid(F, 9, 2) & " " & Right(F, 2)
			End Select
		End If
		Return str
	End Function

Kanske inte det ultimataste sättet att formatera på men det funkar igallefall förutom att det finns 2 olika sätt att formatera på när det är 9 och 10 siffror så det kan man välja lite som man vill.
Sedan är det ju VB men det är en "guideline"

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)