Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu Regex

Einklappen

Neue Werbung 2019

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

  • Frage zu Regex

    Hi
    Ich hab eine Frage und zwar hab ich mich noch nie richtig mit Regulären Ausdrücken beschäftigt, doch nun benötige ich es...
    Deshalb wollte ich fragen, wie ein Regulärer Ausdruck aussehn muss, der prüft, ob nur Zahlen und Komma eingegeben wurden?
    Also er sollte z.B. "100" oder "100,00" erlauben, aber "100.00" nicht.
    Versteht ihr was ich meine?
    Ich hoffe mir kann jemand helfen.
    Danke

  • #2
    Hallo und Willkommen!

    Also hier mal ein link wo das gut beschrieben ist Reguläre Ausdrücke PHP Script resource Tutorials, Workshops und Artikel und hier kannst auch gut was lernen Peter Kropff - Home

    mfg der Litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    [URL]http://www.lit-web.de[/URL]

    Kommentar


    • #3
      Danke für dein super schnelle Antwort.
      Ich werd mir das sofort durchlesen.
      Danke

      Kommentar


      • #4
        Nicht nur durchlesen. Du musst viel probieren. Dir ein Ziel stellen und dann den regex machen,denn nur so lernst du das richtig. Regex ist ein sehr komplexes Thema mit weit gefächerten Möglichkeiten,das lernst du nicht einfach mal so in zwei oder drei Tagen! Lasse dir Zeit damit und verstehe was da abgeht und passiert.

        Das kann ich dir nur ans herz legen!

        mfg der Litter
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        [URL]http://www.lit-web.de[/URL]

        Kommentar


        • #5
          Danke allerdings bräuchte ich das eher bald...
          Kannst du mir also vielleicht bitte bei dem einen helfen?
          Danke

          Kommentar


          • #6
            Das heist du hast ein Textfeld in das was eingegeben wird und dort soll geprüft werden ob nur Zahlen und Komma drin stehen?
            Eine Frage soll das Komma immer an einer bestimmten Stelle im String stehen oder kann das an beliebiger Stelle stehen? Zudem darf nur jeweils ein Komma darin vorkommen oder mehrere?
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            [URL]http://www.lit-web.de[/URL]

            Kommentar


            • #7
              Ja ich hab ein textfeld, dort darf ein Komma vorkommen, wenn eins vorkommt, dann aber nur eins und es darf irgendwo stehen, aber nach dem Komma müssen noch zwei Zahlen sein.
              Also das wären Beispiele, die erlaubt wären:
              100,00
              10,00
              1000,49

              und diese wären z.B nicht erlaubt:
              100.00
              100,
              Verstehst du was ich meine?
              Danke

              Kommentar


              • #8
                So der regex macht jetzt genau das was du willst!
                Aber wie gesagt verstehen musst das!
                Hier muss eine Zeichenkette mit Zahlen beginnden,dann muss ein Komma kommen und es dürfen danach nur noch maximal zwei zahlen kommen und auch kein komma mehr!

                PHP-Code:
                <?php
                if(isset($_POST['send']))
                {
                 
                $wert $_POST['zahl'];
                 if(!
                preg_match("#[0-9],[0-9]{2}$#is",$wert))
                 {
                  echo 
                "eingabe ist falsch!";
                  exit();
                 }
                 else
                 {
                  
                header("Location: datei_post.php");
                 }
                }
                ?>
                <form action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
                <input type="text" name="zahl">
                <input type="submit" name="send" value="Senden">
                </form>
                Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                [URL]http://www.lit-web.de[/URL]

                Kommentar


                • #9
                  if(!preg_match("#[0-9],[0-9]{2}$#is",$wert))
                  Damit erhält man die Ergebnisse
                  100 -> ungültig
                  1,00,00 -> gültig

                  Ich bin nicht sonderlich gut mit regulären Ausdrücken, es kann also durchaus bessere Muster für diesen Zweck gegeben.
                  Code:
                  #^[0-9]+(?>,[0-9]{2})?$#is

                  Kommentar


                  • #10
                    David dein regex funzt auch nicht,denn der berücksichtigt kein Komma da drin,also geht es auch ohne Komma und das soll ja nicht sein!
                    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                    [URL]http://www.lit-web.de[/URL]

                    Kommentar


                    • #11
                      Zitat von litterauspirna Beitrag anzeigen
                      also geht es auch ohne Komma und das soll ja nicht sein!
                      Doch, ohne Komma ist laut erstem Post erlaubt
                      Zitat von ghost120 Beitrag anzeigen
                      Also er sollte z.B. "100" oder "100,00" erlauben, aber "100.00" nicht.

                      Kommentar


                      • #12
                        Ja stimmt hast recht sorry nicht richtig gelesen!
                        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                        [URL]http://www.lit-web.de[/URL]

                        Kommentar

                        Lädt...
                        X