Marc2: Hilfe bei regulärem Ausdruck (123,45 oder 123.45)

Hi,

folgende Eingaben sind erlaubt:

beliebige Zahlen ohne Vorzeichen
mit oder ohne Komma bzw. Punkt
mit oder ohne Kommastellen (bzw. Punkt)

z.B.
1234567890
12345.
845623,
124543.12
1768823,657

Fehlermeldung bei Buchstaben, Leerzeichen etc.

mein Versuch:

$suchmuster = "/[1](.|,)?([0-9])?/";

funktioniert jedoch nicht... :(

Marc

PS: hier war ich schon... :)
http://de.selfhtml.org/cgiperl/sprache/regexpr.htm#maskierung


  1. 0-9 ↩︎

  1. Hallo Marc,

    folgende Eingaben sind erlaubt:

    beliebige Zahlen ohne Vorzeichen
    mit oder ohne Komma bzw. Punkt
    mit oder ohne Kommastellen (bzw. Punkt)

    z.B.
    1234567890
    12345.
    845623,
    124543.12
    1768823,657

    Dieser Ausdruck sollte funktionieren:
    /^\d+((.|,)\d+)?$/

    Viele Grüße
      Patrick Canterino

    1. danke;
      allerdings geht damit auch auch:

      453245...........,00

      ,05 und .05
      sollten auch noch möglich sein :)

      Marc

      1. Hallo Marc,

        allerdings geht damit auch auch:

        453245...........,00

        Bei mir nicht. Weder mit PHP, noch mit Perl.

        ,05 und .05
        sollten auch noch möglich sein :)

        OK, dann sieht der Ausdruck anschließend so aus:
        /^(\d+)?((.|,)\d+)?$/

        Viele Grüße
          Patrick Canterino

        1. Hi,

          funktioniert:
          46456
          4654,00
          123.00
          ,0051

          funktioniert nicht:
          65465.
          646,

          ist aber OK.

          D A N K E !!

          1. hallo!

            um auch noch 123. gelten zu lassen:
            /^\d*[.,]?\d*$/
            allerdings laesst das auch einen leeren string zu. und es laesst auch ein komma (ohne zahlen davor und dahinter) zu.

            falls du das nicht moechtest:
            /^(\d+[.,]?\d*|\d*[.,]?\d+)$/
            damit muss die laenge des string mind. 1 betragen, und falls ein punkt oder komma vorkommt sogar mind. 2.

            prost
            seth