регулярное выражение позволяет один символ (это не должно), почему?

Здравствуйте, я пытаюсь создать регулярное выражение, которое распознает вводимые деньги и цифры. Я должен разрешить числа, потому что я ожидаю, что неформатированные числа будут вводиться программно, а затем я отформатирую их сам. По некоторым причинам мое регулярное выражение разрешает вводить один буквенный символ.

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

Я понимаю, что мое регулярное выражение принимает случай, когда добавляются несколько запятых, а также нужно две цифры после запятой. У меня уже была идея, как это исправить. Я сузил это до, возможно,*\. как проблема

РЕДАКТИРОВАТЬ

Я нашел выражение, которое сработало[\$]?([0-9,])*[\.][0-9]{2} но я до сих пор не знаю, как или почему это не удалось в первую очередь

Я использую.formatCurrency() отформатировать ввод в денежном формате. Можно найтиВот но это все еще позволяет мне использовать альфа-символы, поэтому я должен еще больше замаскировать его с помощью$(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" }); где находится маска вводаВот а также$(this) является ссылкой на элемент ввода типа text. Мой код будет выглядеть примерно так

<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();
            });

Надеюсь, это поможет. Я пытаюсь создать JSfiddle, но Idk, как добавить внешние библиотеки / плагин / расширение

Ответы на вопрос(2)

Ваш ответ на вопрос