# RegEx: Preisangaben im Format xxx,xx erlauben



## rapthor (24. Mai 2006)

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:In die Zwischenablage kopieren


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

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

Kann mir jemand helfen?


----------



## lhein (24. Mai 2006)

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

lr


----------



## rapthor (24. Mai 2006)

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.


----------



## lhein (24. Mai 2006)

Achso, sorry, aber das ging nicht unbedingt aus deinem ersten Posting hervor.

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

lr


----------



## rapthor (24. Mai 2006)

Mit folgendem RegEx funktioniert es schon fast:


```
^\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})?$*


----------

