Laden...

[gelöst] Regex für Zahlen nur mit korrekt platzierten Tausenderpukten

Erstellt von Killerkrümel vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.376 Views
K
Killerkrümel Themenstarter:in
166 Beiträge seit 2008
vor 14 Jahren
[gelöst] Regex für Zahlen nur mit korrekt platzierten Tausenderpukten

Heyho Community,

Ich bin gerade dabei, mittels RegEx ne MVC(Asp.net) Webiste teilweise zu validieren.

Jetzt mein problem:

Ich habe eine textbox, in welche kosten eingetragen werden können.
Die Culture is dabei egal, es sind nur deutschsprachige rechner
(Sry für die ausdrucksweise O_o)
auf denen das programm laufen soll.

Wie erstelle ich ein pattern, was die zahl
1.200.200,22 zulässt aber
1.1.200.000,66 Ignoriert?

^[\d.]*[,[\d]{1,3}]{0,1}$ als pattern funktioniert nicht... irgendwas fehlt da -.-

Danke für eure Hilfe im vorraus.

ps.: Das toturial half leider nicth weiter...

Gruß killerkruemel

916 Beiträge seit 2008
vor 14 Jahren

Der sollte gehen, weiß aber nicht ob der alle trifft. Probier ihn mal aus.

(\d){0,1}((\d){3}.)*(,(\d){2}){0,1}

Again what learned...

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Killerkrümel,

die eckigen Klammern sind falsch gesetzt. Schau dir mal an, was die eckigen-Klammern bedeuten.

herbivore

U
237 Beiträge seit 2007
vor 14 Jahren

In PHP hab ich es so gelöst

^([1-9][0-9]{0,2}(\.[0-9]{3})*)(\,[0-9]*)?$

heute code ich, morgen debug ich und übermorgen cast ich die königin auf int

K
Killerkrümel Themenstarter:in
166 Beiträge seit 2008
vor 14 Jahren

Danke Herbivore - ich dachte die eckigen Klammern Fassen das zu den Grps zusammen.

Die Lösung:

RegularExpression("^(\d{0,3}(\.\d{3})*(,\d{1,2})?)$", ...)

U
1.578 Beiträge seit 2009
vor 14 Jahren

aber achtung - das funktioniert nur wenn die zahl in der entsprechenden culture formatiert ist {o;