Regex erlaubt ein Zeichen (sollte es nicht), warum?

Hallo, ich versuche einen regulären Ausdruck zu erstellen, der Geld und eingegebene Zahlen erkennt. Ich muss die Eingabe von Zahlen zulassen, da ich die programmgesteuerte Eingabe von nicht formatierten Zahlen erwarte und diese dann selbst formatieren werde. Aus irgendeinem Grund erlaubt mein Regex ein Ein-Buchstaben-Zeichen als mögliche Eingabe.

[\$]?[0-9,]*\.[0-9][0-9]

Ich verstehe, dass mein regulärer Ausdruck den Fall akzeptiert, in dem mehrere Kommas hinzugefügt werden, und auch zwei Nachkommastellen benötigt. Ich hatte schon eine Idee, wie ich das beheben kann. Ich habe es vielleicht auf den eingegrenzt*\. als das problem

BEARBEITEN

Ich habe den regulären Ausdruck gefunden, der funktioniert hat[\$]?([0-9,])*[\.][0-9]{2} aber ich weiß immer noch nicht, wie oder warum es überhaupt fehlgeschlagen ist

Ich benutze die.formatCurrency() um die Eingabe in ein Geldformat zu formatieren. Es kann gefunden werdenHier aber es erlaubt mir immer noch, alphanumerische Zeichen zu verwenden, so dass ich es weiter mit dem maskieren muss$(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" }); wo Eingabemaske gefunden wirdHier und$(this) ist eine Referenz auf ein Eingabeelement vom Typ text. Mein Code würde ungefähr so ​​aussehen

<input type="text" id="123" data-Money="true">

 //in the script
 .find("input").each(function () {          
        if ($(this).attr("data-Money") == "true") {                            
            $(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" });
            $(this).on("blur", function () {
                $(this).formatCurrency();
            });

Ich hoffe das hilft. Ich versuche, ein JSfiddle zu erstellen, aber ich weiß nicht, wie man externe Bibliotheken / Plugins / Erweiterungen hinzufügt