Gian: Zahlenformatieren

Hallo

Ich bin ein noch recht unerfahren in Sachen Perl und habe deshalb eine Frage.

Ich habe ein Kontaktformular erstellt und möcht nun die Eingaben der User formatieren. Ich möchte, dass der User eine Telefonnumer in irgend einem Format eingeben kann und ich diese dann richtig formatiert erhalte.

Beispiel:

Eingabe User: 0881234567 oder +4188 123 45 67
Formatierte Ausgabe: 088-123 45 67

Wie kann ich so etwas machen, respektive welcher Perlbefehl kann ich verwenden?

Grüsse

Gian

  1. Hi,

    Ich habe ein Kontaktformular erstellt und möcht nun die Eingaben der User formatieren. Ich möchte, dass der User eine Telefonnumer in irgend einem Format eingeben kann und ich diese dann richtig formatiert erhalte.

    was ist "irgend ein Format" und was ist "richtig formatiert"?

    Eingabe User: 0881234567 oder +4188 123 45 67
    Formatierte Ausgabe: 088-123 45 67

    Eingabe User: 0724351789
    Ausgabe: 0724-351789

    Oder doch 07243-51789?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo

      Wie ich geschreiben habe: Eingabe vom User 0881234567 oder +4188 123 45 67 Ausgabe: 088-123 45 67 oder mit deinem Beispiel: Eingabe User: 0724351789 Ausgabe: 072-435 17 89

      Gruss

      Gian

      1. Hi,

        Wie ich geschreiben habe: Eingabe vom User 0881234567 oder +4188 123 45 67 Ausgabe: 088-123 45 67 oder mit deinem Beispiel: Eingabe User: 0724351789 Ausgabe: 072-435 17 89

        Nach welcher Regel? Üblicherweise trennt ein - zwischen Ortsvorwahl und Nummer innerhalb des Ortsnetzes.
        072 ist aber keine Ortsvorwahl - zumindest nicht in Deutschland.

        Willst Du stur nach 0 plus 2 Ziffern trennen?
        Oder was willst Du?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hello,

          Willst Du stur nach 0 plus 2 Ziffern trennen?
          Oder was willst Du?

          Vielelicht sucht er keine "Formatierung", sondern eine intelligente Plausibilitätskontrolle, die i.d.R. nur zusammen mit einer Online-Datenbank funktionieren kann.

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

          1. Vielelicht sucht er keine "Formatierung", sondern eine intelligente Plausibilitätskontrolle, die i.d.R. nur zusammen mit einer Online-Datenbank funktionieren kann.

            Nein, so was suche ich nicht!

            Es soll effektiv nach den ersten drei Ziffern teilen und den rest dann wie beschrieben formatieren. Ausgeschrieben, dass es nun endlich jeder versteht: 3 Zeichen (077) Strich (-) 3 Zeichen (123) Leerschlag und 2 Zeichen ( 45) Leerschlag und 2 Zeichen ( 67)

            Also wie jetzt bereits zum driten mal gesagt: aus 0771234567 wird 077-123 45 67.

            1. Hi,

              Also wie jetzt bereits zum driten mal gesagt: aus 0771234567 wird 077-123 45 67.

              Beispiele nützen nichts, weil mit denen die Lösung sinngemäß lautet:

              output('077-123 45 67') when input.equals('0771234567')

              Du hast oben eine Abbildungsvorschrift begonnen. Nun beende sie auch. Dann lässt sich herausfinden, welche Bedingungen garantiert werden müssen und was der Algorithmus dann zu leisten hat.

              Was übrigens auch nichts bringt sind Beleidigungen wie "dass es nun endlich jeder versteht".

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
  2. gudn tach!

    Ich möchte, dass der User eine Telefonnumer in irgend einem Format eingeben kann und ich diese dann richtig formatiert erhalte.

    "richtig" formatiert musst du noch naeher beschreiben.
    nach din 5008 waere "088 1234567" ein richtiges format, wenn 088 die vorwahl ist.

    Beispiel:
    Eingabe User: 0881234567 oder +4188 123 45 67
    Formatierte Ausgabe: 088-123 45 67

    aus einem anderen posting von dir scheint hervorzugehen, dass die eingabe immer genau 10 ziffern (+ evtl. landesvorwahl) enthaelt. ist das so? kuerzere oder laengere nummern werden nicht eingegeben? falls doch: wie sollen die formatiert werden?

    Wie kann ich so etwas machen, respektive welcher Perlbefehl kann ich verwenden?

    grundsaetzlich: je nach anwendung mit http://perldoc.perl.org/functions/sprintf.html@sprintf oder mit hilfe regulaerer ausdruecke.

    prost
    seth

    1. gudn tach!

      grundsaetzlich: je nach anwendung mit http://perldoc.perl.org/functions/sprintf.html@sprintf oder [...]

      aghrh! ich dachte, die vorschau-checkbox waere noch aktiviert...:

      sprintf

      prost
      seth

      1. Hi Seth

        Genau das was ich gesucht hatte. Super herzlichen Dank!

        Gruss Gian