Doc_McSky: regulären Ausdruck erweitern

Hallo Leute,

ich bastel jetzt schon eine Weile an einem regulären Ausdruck rum, mit dem ich per JS nach Eingabe in einem Feld eine spezielle Zahlenformatierung abfrage. Zu 90% habe ich auch schon was geschafft nach vielem hin und her mit folgender Abfrage:

  
var inp = "12,25";  
if (inp.search(/^[0-9]{1,2}[.,](0|25|5|75)$/) == -1)  
 alert("falsches Format!");  

Es soll nur möglich sein eine maximal 2-stellige Zahl vor dem Komma oder Punkt, gefolgt von den Nachkommastellen 0/25/5 oder 75 einzugeben.

Ich weiß nicht ob es die beste Lösung oben ist, aber das klappt soweit, ich kann also 12,0 / 12.0 / 34,25 / 9,75 oder sowas eingeben, während mir 78,9 einen Fehler ausgibt.

Jetzt will ich aber bei den ganzen Zahlen den User nicht zwingen 56,0 einzugeben, sondern 56 soll auch reichen, das bekomme ich aber nicht hin, das nach den Vorkommastellen auch nichts mehr kommen darf, kann mir da jemand helfen?

Dankesehr schon im Voraus.

Gruß
Doc

  1. Hi,

    if (inp.search(/[1]{1,2}.,$/) == -1)

    Jetzt will ich aber bei den ganzen Zahlen den User nicht zwingen 56,0 einzugeben, sondern 56 soll auch reichen, das bekomme ich aber nicht hin, das nach den Vorkommastellen auch nichts mehr kommen darf, kann mir da jemand helfen?

    Einfach den kompletten „Nachkommateil“ noch mal einklammern, und mit einem hinter die schließende Klammer gesetzten Fragezeichen als optional kennzeichnen.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?

    1. 0-9 ↩︎