regex für Geldwerte in JavaScript

8

Für eine Weile aus dem Spiel regex herausgekommen. Versuchen, etwas zu finden, mit dem der Benutzer einen Geldwert entweder mit / ohne Dollarzeichen oder mit / ohne Kommas eingeben kann. Zum Beispiel sollten alle folgenden Werte gültig sein:

%Vor%

Könnte mir bitte jemand helfen?

    
cakeforcerberus 03.08.2012, 16:19
quelle

4 Antworten

17

Das sollte funktionieren:

%Vor%

Ein wenig strenger mit der Kommaplatzierung (würde zB 3,2.10 ablehnen):

%Vor%

Um eine Nummer zu erhalten:

%Vor%     
Kip 03.08.2012, 16:24
quelle
2

Ich habe nicht Driven Development, TDD, für dieses mit dem Qunit-Framework getestet.

TDD Überblick Ссылка

1.: Schreiben Sie Tests.

2.: Watch-Tests scheitern.

3.: Machen Sie den Test bestanden.

4.: Refactor.

%Vor%

Hier ist eine mögliche Lösung für Ihr Problem.

%Vor%

Demo hier: Ссылка

Ich habe vergessen zu refaktorieren.

    
Larry Battle 03.08.2012 16:42
quelle
1

^($?\d{1,3}(?:,?\d{3})*(?:\.\d{2})?|\.\d{2})?$

Dieser hat eine Weile gedauert, aber ich habe endlich etwas voll funktionsfähiges bekommen. Es erlaubt Fälle wie 100.00, .35, $ ​​1.35, usw. Beim Ausschließen von Einträgen mit falsch gesetzten Kommas, zu vielen Zahlen zwischen oder vor Kommas oder zu vielen Nachkommastellen.

Sie können hier

damit spielen     
Riot Goes Woof 09.06.2014 15:18
quelle
0

Vielleicht das? Ссылка

%Vor%

Auch Ссылка ; eine längere Version, die nicht mit Zahlen wie 123,45.4.3

übereinstimmt %Vor%     
user1034533 03.08.2012 16:26
quelle

Tags und Links