Здравствуйте, я пытаюсь создать регулярное выражение, которое распознает введенные деньги и числа. Я должен разрешать числа, потому что я ожидаю, что неформатные номера будут введены программно, а затем я отформатирую их самостоятельно. По какой-то причине мое регулярное выражение позволяет использовать символ одной буквы как возможный вход.regex позволяет одному персонажу (не стоит) почему?
[\$]?[0-9,]*\.[0-9][0-9]
Я понимаю, что регулярное выражение принимает тот случай, когда добавляются несколько запятых, а также необходимо две цифры после запятой. У меня была идея, как это исправить. Я сузил его до, возможно, *\.
как проблема
EDIT
Я нашел регулярное выражение выражения, которое работало [\$]?([0-9,])*[\.][0-9]{2}
, но я до сих пор не знаю, как и почему он был терпит неудачу в первой очереди
Я использую .formatCurrency()
для форматирования ввода в формат денег. Его можно найти here, но он по-прежнему позволяет использовать альфа-символы, поэтому я должен его замаскировать с помощью $(this).inputmask('Regex', { regex: "[\$]?([0-9,])*[\.][0-9]{2}" });
, где найдена маска ввода here и $(this)
- это ссылка на элемент ввода текста типа. Мой код будет выглядеть примерно так:
<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, как добавить внешние библиотеки/плагин/расширение
ты ошибаешься, или там отсутствует контекст. – muhmuhten
Обратная косая черта в '\ .', вероятно,« съедается »любым программным обеспечением, которое вы используете. Вам нужно будет указать специфику вашей среды, код ошибки и т. Д. –
Какой инструмент или язык вы используете, то, что вы говорите, невозможно, если только инструмент, который вы используете, не может что-то сказать об этом :) –