[REGEX] Probleme mit Zahlen und komma/punkt

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

  • [REGEX] Probleme mit Zahlen und komma/punkt

    Es geht um einen ereg ausdruck den ich nicht kapiere. Ich hab beim mailformplus von typo3 die möglichkeit input felder durch einen errorcheck laufen zu lassen. Soweit kein Problem. Ich übergeb der funktion einfach den ereg befehl mit dem string dran. Auch noch ok. Beispiel unten:

    Code:
     plugin.tx_thmailformplus_pi1.fieldConf {
    	brennweitekurz.errorCheck = ereg:^[0-9]\.[0-9]$
    }
    Gebe ich nun in diesem input die Zahl "24.0" ein kommt kein error zurück. Gebe ich "24,0" an, kommt ein Error zurück. Genau so soll das sein. Gebe ich "24" an, kommt ein Error zurück. Das ist blöd

    Am einfachsten wäre, ist im String ein Komma drinn, dann fehler, ist keins drin solls durch. Nur bin ich mit REGEX auf absolutem Kriegsfuss. Ich glaub das ist nur was für Professoren und 1.0 Mathematiker

    Kann mir jemand helfen?

    Danke und Gruß Manfred

  • #2
    Code:
    $reg = '/^\d*$|^\d*\.\d*$/';
    sollte Abhilfe schaffen.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Danke für Deine Antwort.

      Leider hat das so nicht funktioniert. Nach dem ich Deinen Post als ansporn genommen habe, finktioniert das so:

      Code:
      brennweitekurz.errorCheck = ereg:^[0-9]*$|^[0-9]*\.[0-9]*$

      Ist das so Normal was ich da zusammengesetzt habe, oder gibts da ne böse überraschung? Danke!

      Kommentar


      • #4
        Funzt schon, aber nur mit "richtigen" RegExp wie preg_match()
        Test
        aus dem Manual
        Note: preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg().
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Achso, danke für den hinweis! In dieser Extension steht leider nur ereg oder eregi zur Verfügung, preg_match leider nicht.

          Dennoch vielen dank fürs mitgrübeln!

          Kommentar

          Lädt...
          X