Währungsvalidierung
Bitte helfen Sie mit mir schreiben eine JavaScript-Validierung für Währung/Geld-Feld.
Also bitte geben Sie alle regulären Ausdrückewenn u haben 🙂
Auch, für meine region, brauchen keine Währungssymbole wie '$' in das Feld.
Nur Dezimalzahlen, die bei der Validierung von Sonderzeichen., zusammen mit den zahlen.
InformationsquelleAutor der Frage dev646 | 2010-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ein regexp:
Wenn Sie nicht suchen, so streng mit der Dezimalstellen, die Sie vielleicht finden es einfacher, den unären (
+
) - operator zu werfen, um eine Nummer zu überprüfen es ist Gültigkeit:Wenn die Zahl Zeichenfolge ungültig ist, wird es zurück
NaN
(Keine Zahl), etwas, das Sie testen können, für leicht:Wird es, natürlich, erlauben Sie einem Benutzer das hinzufügen von mehr Dezimalstellen, aber können Sie hacken, alle extra aus
number.toFixed(2)
um Runde auf 2 Dezimalstellen.parseFloat
ist viel weniger streng mit input und zupfen Sie die erste Zahl, die es finden kann aus einem string, so lange wie die Zeichenfolge beginnt mit einer Zahl, zB.parseFloat("123abc")
ergeben würde123
.InformationsquelleAutor der Antwort Andy E
Baute ich meine Antwort von der akzeptierten Antwort.
var regex = /^[1-9]\d*(((,\d{3}){1})?(\.\d{0,2})?)$/;
^[1-9]
Die Zahl darf beginnen mit 1-9\d*
Die Zahl kann dann für eine beliebige Anzahl von Ziffern(...)$
Blick auf die nächste Gruppe aus dem Ende(...)$
(...)?(...)?
Zwei Gruppen Optional. Die erste ist für das Komma, die zweite ist für die Dezimalstellen.(,\d{3}){1}
Sich für eine Zeit von einem Komma, gefolgt von genau drei Ziffern\.\d{0,2}
Suchen eine Dezimalzahl, gefolgt von null, einer oder zwei stellen.Dieser regex funktioniert aus diesen Regeln:
Wenn ein Kunde mehr als ein Dezimalpunkt oder mehr als einem Komma, der Wert ist ungültig und wird nicht akzeptiert.
Beispiele für ungültige Eingabewerte
Ein Beispiel kann hier angesehen werden:
http://jsfiddle.net/rat141312/Jpxu6/1/
UPDATE
durch ändern der
[1-9]
im regex zu[0-9]
irgendeine Zahl weniger als1
können auch validiert werden. Beispiel: 0.42, 007InformationsquelleAutor der Antwort Sababado
funktioniert das für Sie?
oder vielleicht parseFloat:
InformationsquelleAutor der Antwort meouw
Mir seine arbeiten gut für Indische Währung INR
InformationsquelleAutor der Antwort Jasbeer Rawal