Henry: Unterschiedlich Formatierte Telefonnummern abgleichen

Beitrag lesen

Hallo LastBoyScout,

Habe hier eine MySQL- Datenbank in der unter anderem Telefonnummern gespeichert sind. Bei diesen ist Vorwahl und Rufnummer mit einem Schrägstrich getrennt und eine evtl. Durchwahl durch einem Bindestrich, z.B. 012345/6789 bzw. 012345/6789-0

keine gute Wahl, das so zu speichern.

Nun sollen anhand der Rufnummer die dazugehörigen Datensätze ermittelt werden. Das Problem ist nur, das der Suchstring wie folgt Formatiert ist: +49 (12345) 64890

Du hättest jetzt mehrere Ansätze zur Verfügung. Einer wäre schon mal die DB-Konstruktion zu ändern, wenn du das kannst und möchtest.

Bsp.

|landprefix|ortsprefix|nummer|durchwahl|

Das ändert natürlich nichts daran, dass du dennoch die Sucheingabe modifizieren musst, erleichtert es aber. Wenn ich das richtig verstehe, ist auch kein Verlass darauf, dass die Sucheingabe immer exakt so ist: +49 (12345) 64890? Auf jeden Fall, selbst wenn, solltest du so eine Eingabe sowieso immer prüfen und daher die Zahlen finden und gegebenenfalls aufteilen.

Auf Reguläre Ausdrücke schaue ich immer wie das berühmte Schwein ins Uhrwerk :-(

Es ist da auch nicht unbedingt Regex für nötig auch Stringfunktionen sind geeignet, aber hier mal ein Link wo du Ansätze für beides hier im Forum findest. Das ist zwar nicht die gleiche Frage, wie deine, die Ansätze aber. Wenn die Ansätze daraus zu komplex sind, bitte nochmal melden.

Gruss
Henry

--
Meine Meinung zu DSGVO & Co:
„Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“