Problem mit ereg()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    darf ich vorher nachfragen, wozu du es brauchst?

    Kommentar


    • #17
      na klar darfste .
      Um PHP mit MYSQL zu lernen mache ich eine Datenbank mit Kunden, jeder Kunde hat Daten und dazu gehört auch eine Telefonnummer. Nun soll der Benutzer auch einen neuen Eintrag machen können und das ganz soll über ein Formular geschehen. Um nun abzufangen, dass jemand dort etwas falsches eingibt (wie 000----------------------) , möchte ich überprüfen ob es sich um eine Telefonnummer handelt.
      MfG Daether

      Kommentar


      • #18
        ungetesteter Ansatz, quasi wie in einer Prüfung (preg, x-Syntax, nicht ereg):
        PHP-Code:
        $preg='!^ (?:\\d+   #Anfang, einige Ziffern, Gruppe (?: 
                           #preg-delimiter !, x-Syntax, php-string-delimiter '
        ..'
            [/-\\ ]{0,1}    #kein oder ein Separator, auch Leerzeichen 
            )*             # Gruppe null- oder mehrfach wiederholt, nicht gespeichert
            \\d+            #abschliessend einige Ziffern, evtl. die einzigen Ziffern
            $              #Abschluss
            !x'

        (18:06 Uhr nur Kommentare verbessert.)
        Zuletzt geändert von h31ss; 28.07.2006, 17:08.

        Kommentar


        • #19
          momentan lebe ich mit desem Ansatz glaub ich besser:
          PHP-Code:
          $ergebnis preg_match("|^[0-9 ]+[/-]{0,1}[0-9 ]+[-/]{0,1}[0-9 ]{0,}$|i",$telefonnummer); 
          Allerdings wäre dann 0 - 444444 z.B. möglich.

          Kommentar


          • #20
            Original geschrieben von Daether
            momentan lebe ich mit desem Ansatz glaub ich besser:
            [
            Was verstehst Du unter besser? Du hast die Vorgaben gemacht, stimmte etwas nicht?

            Ps ich ergänze oben noch ein ^ und ein $, inklusive eventuelle Kommentare. Das fehlt.

            Kommentar


            • #21
              ist vieleicht nicht die beste Lösung, aber auf regexlib.com getestet:

              ^[0-9]{3}(-| |( - )?)[0-9]{3}(/|-| |( / )?)[0-9]{2}$ // dies bevorzuge ich wegen der Übersicht
              ^\d{3}(-| |( - )?)\d{3}(/|-| |( / )?)\d{2}$ // das selbe...

              Kommentar


              • #22
                Original geschrieben von Daether
                mache ich eine Datenbank mit Kunden
                Was macht ihr mit Kunden, die eine Mobilnetznummer haben, eine 0180- oder eine 0190-, eine variabel lange Ortskennzahl wie in Deutschland ? bzw. je nach Land in dem ihr lebt? oder die eine Hauptnummer -0 bzw. Durchwahl -1234 ?

                Bei Nummern der Form 222-444/44, 222 - 444-44, welche interne Nummern sind, wären die Kunden interne Stellen?
                Zuletzt geändert von h31ss; 28.07.2006, 13:44.

                Kommentar


                • #23
                  Um nun abzufangen, dass jemand dort etwas falsches eingibt [...]
                  und wenn ich (statt meiner echten nummer) einfach "222-22222" eintippe, ist es nicht falsch und du fängst es nicht ab? (ich habe da zwar nicht angerufen, nehme aber an, dass die mehrheit solcher "schnapsnummern" nicht vergeben sein wird). was bringt dann die überprüfung?

                  Kommentar


                  • #24
                    Original geschrieben von penizillin
                    was bringt dann die überprüfung?
                    Dass der Frager etwas über regexp, über php mysql Programmierung, über Formulare und Logik, und über Telefonnummern lernt. Das ist doch immerhin schon einiges (in so kurzer Zeit).

                    Und dass ich die x-Syntax mal versucht habe.
                    Zuletzt geändert von h31ss; 28.07.2006, 16:59.

                    Kommentar


                    • #25
                      zweifellos richtig.

                      Kommentar


                      • #26
                        damit jemand der aus Versehen die falsche Nummer eingibt es merk, es müssen ja nicht alle lügen wollen...

                        Kommentar


                        • #27
                          damit jemand der aus Versehen die falsche Nummer eingibt es merk, es müssen ja nicht alle lügen wollen...
                          ob ich mich in der letzten 4 vertippe und stattdessen eine 5 eingebe, wird auch nicht erkannt.

                          bedenke, für wichtige daten gibt es am ende immer eine "frewillige selbstkontrolle" - eine seite, auf der deine gesamte eingabe dir nochmal präsentiert wird und du die gelegenheit hast, die richtigkeit in deinem eigenen interesse zu kontrollieren.

                          Kommentar


                          • #28
                            Original geschrieben von jmc
                            damit jemand der aus Versehen die falsche Nummer eingibt es merk, es müssen ja nicht alle lügen wollen...
                            Ich begreife immer weniger, in Verfolgung dieses threads, warum Telefonnummern nicht md5-gesichert sind......

                            Kommentar


                            • #29
                              OffTopic:
                              Dann machs doch

                              Kommentar


                              • #30
                                Original geschrieben von jmc
                                Dann machs doch
                                fangen wir mit Deiner Telefonnummer an: diese lautet also:______________________

                                Kommentar

                                Lädt...
                                X