AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Telefonnummer check

Ein Thema von p80286 · begonnen am 2. Jun 2015 · letzter Beitrag vom 9. Jun 2015
Antwort Antwort
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#1

AW: Telefonnummer check

  Alt 2. Jun 2015, 14:33
Moin,

hier gibt es alle deutschen Vorwahlnummer als PDF http://www.bundesnetzagentur.de/Shar...cationFile&v=3

Die Nummernspalte in z.B. eine Textdatei kopieren und Du hast schonmal eine Vergleichsliste.

  • 123456
  • 12 34 56

    Keine Null am Anfang: Rufnummer im eigenen Vorwahlnummernbereich. Leerzeichen raus und mit entsprechender Vorwahl speichern.
  • 0209123456
  • 02 09 12 34 56
  • 0209-123456

    Null am Anfang: Leerzeichen raus, die ersten 3, dann 4 und dann 5 Nummern (wenn keine Bindestrich enthalten ist) mit obiges Liste vergleichen
  • 209-123456

    Hmmm.
  • 49-209-123456
  • 0049 (0)209-123456
  • +49-209-123456
  • ++49/209/123-456

    hier überlegen ob Du solche Nummern mit 00 oder +49 oder ++49 schreiben willst und entsprechend anpassen und den Mittelteil mit obigesr Liste vergleichen
Welche Strukturen es bei deutschen Rufnummern gibt findest Du hier:
http://www.bundesnetzagentur.de/cln_...html?nn=268384

Vielleicht hilft das als Anschubs weiter.

Gruß HEiko
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Telefonnummer check

  Alt 2. Jun 2015, 15:13
Erst einmal vielen Dank!

@Sir Rufo
Das Ergebnis sollte eine gültige formatierte Rufnummer sein - in diesem Beispiel +49(209)123456 oder aber eine Fehlermeldung "ungültige Ländervorwahl" oder etwas ähnliches.

@Kralle
ich schau da mal rein vielen Dank!
(Internationale Vorwahlen gibt's ja wie Sand am Meer)

@Stahli & @JasonDX
Das Angebot des Abtrünnigen scheint zu passen, dann wäre das Zeug auch weg!



K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#3

AW: Telefonnummer check

  Alt 2. Jun 2015, 16:06
209-123456
49-209-123456

Bei den Beiden ist eh alles im Arsch.

Alles, was man nicht eingeben kann und man nirgendwo rauskommt (jedenfalls nicht da, wo gewollt), kann nicht automatisch behandelt werden, denn ohne die 0 oder das + am Anfang, sind das "eindeutig" lokale Telefonnummern, im aktuellen Vorwahlbereich.
Daß es sich eigentlich um 0 und 00/+ handelt, ist ja nur durch die ebenfalls zufälligen mit angezeigten anderen Datensätze erkenntlich, also für den Menschen zumindestens.


Du kannst dir natürlich auch elektronische Telefonbücher besorgen und die Telefonnummern damit abgleichen, über eine entsprechende Fuzzy-Logic.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: Telefonnummer check

  Alt 2. Jun 2015, 17:09
DIN5008, E.123 bringt dich nicht weiter?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Telefonnummer check

  Alt 8. Jun 2015, 13:39
DIN5008, E.123 bringt dich nicht weiter?
pardon, daß ich mich erst jetzt rühre,
Nein, Formatvorschriften gibt es ja zur genüge,nur niemanden der sich daran hält

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Telefonnummer check

  Alt 8. Jun 2015, 13:52
Ist es wirklich so schwer oder denke ich zu simpel?

1. Alle Zeichen löschen die keine Ziffer sind (Klammer, Leerzeichen, Bindestrich, ...)
2a. Fängt die Ziffernfolge mit 0 an haben wir eine Telefonnumer mit Vorwahl. Optional: Ziffernfolge in einer Vorwahl Datenbank suchen (auch Mobilfunkanbieter überprüfen), um sie mit einem Leerzeichen von eigentlichen Telefonnummer abzutrennen, wenn gewünscht.
2b. Fangt die Ziffernfolge nicht mit einer 0 an und ist länger als acht Ziffern, haben wir eine Telefonnumer mit Ländervorwahl. Plus davor setzen. Optional: In einer Datenbank Ländervorwahl suchen, dann Vorwahl suchen, dann entsprechen mit Leerzeichen trennen, wenn gewünscht.
3. Ziffernfolge entsprechend er Formatierungsregeln formatieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Telefonnummer check

  Alt 8. Jun 2015, 13:54
Ich glaube, 2b ist schon ein Problem...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#8

AW: Telefonnummer check

  Alt 8. Jun 2015, 15:23
1. Alle Zeichen löschen die keine Ziffer sind (Klammer, Leerzeichen, Bindestrich, ...)
Was passiert eigentlich, wenn man die Städtevorwahl hinter der Landesvorwahl mit 0 eingibt?

Zitat:
0049 (0)209-1
Eigentlich wird diese 0 ja nicht eingegeben.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: Telefonnummer check

  Alt 8. Jun 2015, 15:39
Ist es wirklich so schwer oder denke ich zu simpel?

1. Alle Zeichen löschen die keine Ziffer sind (Klammer, Leerzeichen, Bindestrich, ...)
Jajn. Ich weiß nicht wie das heute ist, aber früher musste man bei einer Telefonaanlage für die Weiterleitung etwa eine Sekunde (etwa) Pause einlegen. Deshalb signalisierte gelegentlich das Bindestrich die Pause die einzulegen war.

Ansonsten stimme ich dir zu, einfach alles was nicht Zahl oder + ist, weg.

- hat die Telefonnummer keine 0 davor, ist es eine Nummer für Ortsgespräch.
- hat die Telefonnummer eine 0 davor, ist es ein Ferngespräch, aber innerhalb des Landes. Die 0 sagt aus, dass es eine Vorwahl ist. Folgt eine 2 bis 9, sind das Ortsvorwahlen. Eine 1 an der zweiten Stelle nach der 0 hat eine andere Bedeutung, welche, hängt von der nächsten Zahl ab. So sind 015... Handynummer, 018... Servicenummer, usw. Zurück zu der 2 bis 9 an zweiter Stelle. In der Regel Ortsvorwahlen, aber 0700, 0800, 0900, usw. haben auch eine spezielle Bedeutung.
- hat die Telefonnummer zwei 0, also 00, ist es eine internationale Vorwahl, zb 0049 für Deutschland
- alternativ kann man statt zwei Nullen, also 0049 auch +49 eingeben.

//EDIT:

Änderung in Grau

Geändert von Popov ( 8. Jun 2015 um 20:03 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#10

AW: Telefonnummer check

  Alt 8. Jun 2015, 17:39
DIN5008, E.123 bringt dich nicht weiter?
pardon, daß ich mich erst jetzt rühre,
Nein, Formatvorschriften gibt es ja zur genüge,nur niemanden der sich daran hält.
Über diese Vorschriften habe ich eine Heuristik entwickelt, die alle möglichen Telefonnummern, auch solche der Form (030) 12345-67/80 (das sind 2), +4969123456789 und +49(0)8913123123 erkennt bzw. als korrekt oder falsch klassiert. Diese Vorschriften definieren nämlich, wie eine vollständige Nummer aussieht bzw. wie viele Ziffern sie in dem jeweiligen Land hat bzw. haben muss. Das ist ein Ansatzpunkt, um die Intension des Verfassers der Zahlenkolonne zu erraten, denn deine Heuristik soll ja keine zufälligen Ziffern-Sonderzeichenfolgen erkennen sondern Telefonnummern. Und sie soll nur die Spreu vom Weizen trennen.

Und manchmal geht es eben nicht: Mit 049361... kann Erfurt mit D-Vorwahl (0 vergessen) oder Leezdorf gemeint sein. Diese Mehrdeutigkeiten sind aber selten.

Mit einer Vorwahlliste ist dann der Rest doch kein Problem mehr.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz