Wie kann ich nach dem richtigen Ort der Kommas in einer von einem Benutzer eingegebenen Nummer überprüfen?
-
19-09-2019 - |
Frage
Ich suche eine gute Möglichkeit, eine Nummer zu überprüfen, die ein Benutzer für die korrekte Position optionaler Kommas eingegeben hat.
Zum Beispiel
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
Es sieht also so aus, als müsste ich prüfen, ob es mindestens eine Nummer links und 3 Zahlen rechts vom Komma gibt, oder gibt es eine Regex -Möglichkeit, dies zu tun?
Lösung
Wofür werden Sie das verwenden? Oder einen anderen Weg, warum sich darum kümmert? Warum nicht einfach alle Kommas ausziehen und in einen numerischen Typ konvertieren?
Andere Tipps
/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/
Schauen Sie sich diese Website an: http://blog.stevenlevithan.com/archives/commafy-numbers
Hier ist der Code -Snippet:
String.prototype.commafy = function () {
return this.replace(/(^|[^\w.])(\d{4,})/g, function($0, $1, $2) {
return $1 + $2.replace(/\d(?=(?:\d\d\d)+(?!\d))/g, "$&,");
});
}
Number.prototype.commafy = function () {
return String(this).commafy();
}
Sie können alle Kommas ersetzen und dann diesen Code verwenden, um die Kommas selbst hinzuzufügen.
Ich hoffe, das hilft.
Hier ist ein Muster Das beantwortet Ihre Frage. Es gibt auch viele andere zahlenbezogene Muster, einschließlich derjenigen, die aufrechterhalten werden können-etwas, worüber sich niemand Sorgen zu machen scheint.