Wie kann ich nach dem richtigen Ort der Kommas in einer von einem Benutzer eingegebenen Nummer überprüfen?

StackOverflow https://stackoverflow.com/questions/1308016

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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top