Wie man für Geld in jQuery validiert, wo der maximale Betrag, den ich eingeben kann, 9999,99 ist also meine Anforderungen sind: 1. Es sollte nur Ziffern und einen Punkt zulassen 2.max Länge ist 7 (einschließlich Punkt) 3.vor Punkt maximale Länge ist 4 4. nach Punkt maximale Länge ist 2
zur Zeit erlaubt meine Textbox nur Ziffern und einen Punkt mit dem folgenden Code
%Vor% Sie können dies mit einem regulären Ausdruck tun: /^\d{0,4}(\.\d{0,2})?$/
BEARBEITEN:
Hier ist die erbetene Geige
Mit dem jQuery-Validierungs-Plugin können Sie Ihre eigene Regel unter Verwendung von Jacks regulärem Ausdruck (den ich noch nicht getestet habe) wie folgt festlegen:
%Vor%Dann können Sie die Regel mit der validate-Methode festlegen:
%Vor%Wenn ich Sie wäre, würde ich die isNumeric-Funktion in dieser Antwort verwenden , um zu überprüfen, ob die Eingabe eine Zahl ist und dann überprüfen Sie, ob die Nummer für Ihren Fall gültig ist.
Um eine "gültige Nummer" zu erhalten (gemäß Ihren Anforderungen), muss es:
Beträgt zwischen 0 und 9999,99 (maximal 4 Ziffern vor dem Punkt).
Maximal 2 Dezimalstellen haben. Ein guter Weg, um zu überprüfen, ob die Zahl nach der n-ten Ziffer abgeschnitten wird (in Ihrem Fall die zweite) und mit dem ursprünglichen Wert verglichen wird (zwei verschiedene Werte bedeuten, dass die zweite Zahl mehr Dezimalziffern als die erste hat). Verwenden Sie Math.round(number*100)/100
, um alles nach der zweiten Dezimalziffer abzuschneiden.
Ich hoffe, das hilft dir bei deinen Problemen.
Wie Sie gesagt haben, wenn Sie MVC
verwenden. MVC
framework stellt annotations
zur Verfügung, das für die besten Effekte verwendet werden kann. Auch wenn für eine decimal
keine explizite Datenannotation vorhanden ist.
Folgendes kann für zwei Dezimalstellen verwendet werden
%Vor%Und für den Bereich können Sie
verwenden %Vor%So wird Ihr Modellfeld
%Vor%Hoffe es hilft
Tags und Links jquery validation