Я хочу ограничить использование пользователем недопустимой суммы в тексте ввода шрифтов. Максимальная длина целых чисел и чисел фракций известна во время выполнения. Я пытаюсь добиться этого, используя регулярное выражение JavaScript.
var pattern =/^\d{0,3}?[\.]?\d{1,3}$/;
if (pattern.test(amount)) {
return true;
}else {
console.log('rgx Failed');
return false;
}
В этом примере я рассматриваю 3 как максимальное целое число и длину фракции.
Целочисленная часть может иметь длину от 0 до 3, дробная часть должна быть как минимум одна цифра и не более 3.
Но вышеупомянутый JavaScript не работает, он позволяет 7 цифр в целочисленной части.
Я вызываю этот скрипт с enterText onKeyDown, так что я могу проверить, чтобы каждое нажатие клавиши и ограничивало ввод только действительной суммы.
Действительная сумма: 123.123, 12.1, 1.12, .123, 1.3, .1234 и т. Д.
Недопустимая сумма: 123., 1234 и т. Д.