RegEx: Preisangaben im Format xxx,xx erlauben

Status
Nicht offen für weitere Antworten.

rapthor

Bekanntes Mitglied
Hallo,

ich bräuchte einen regulären Ausdruck, der nur gültige Preisangaben zulässt:

Dabei sollen folgende Dinge möglich sein:

2,73
1.82
1
4
2,00

Ganze Beträge können also ohne Komma/Punkt eingegeben werden.

Was ich filtern möchte sind Dinge wie:

2,
4.
2.3
3,1
3,4421
4.512

Es darf nur genau 2 Nachkommastellen geben oder eben garkeine.

Sehr gut wäre der Ausdruck noch, wenn er eine bestimmte Anzahl Zahlen VOR dem Komma ebenfalls zurückweist. Mein erster Ansatz ist folgender gewesen:

Code:
\d+[\.,]?(\d\d)?

Dieser Ausdruck erlaubt allerdings beliebig viele Nachkommastellen und ebenfalls ein(en) alleinstehende(s/n) Komma/Punkt.

Kann mir jemand helfen?
 
Lies Dir in der API mal die Abschnitte zu JFormattedTextField bzw. MaskFormatter durch. Das sollte in Deinem Fall absolut ausreichend sein.

lr
 
Ich benötige schon einen regulären Ausdruck, da ich nicht mit Java sondern JavaScript arbeite. Aber da es (fast) egal ist, mit welcher Programmiersprache man reguläre Ausdrücke verwendet, habe ich das in dieses Forum gestellt.
 
Achso, sorry, aber das ging nicht unbedingt aus deinem ersten Posting hervor.

Dann geb ich die Frage mal an die RegExp-Experten weiter 🙂

lr
 
Mit folgendem RegEx funktioniert es schon fast:

Code:
^\d+([\.,]\d{2})?$

Es fehlt nur noch die Sache, die Vorkommastellen zu begrenzen .. z.b. auf 8 Stellen.

EDIT: Hab es gefunden. JUCHU !!!!: ^\d{1,8}([\.,]\d{2})?$
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben