У меня есть динамический ввод, сгенерированный простым jQuery(...).apend(...)
, который рисует этот код на моей веб-странице:
<input type="number" name="19000003" min="0" max="99999999" required="" step="0.1"
oninput="/^(?:\d{0,8})(?:,\d{0,3})?$/.test(this.value) ? this.value : this.value = this.value.slice(0,-1);">
Я могу проверить первую часть (максимальный размер символов, включая ','), но она дает мне ошибку, когда вы пытаетесь проверить десятичные числа.
он указал значение "111". неверный номер Значение должно совпадать
к следующему регулярному выражению:
- (\ d + | \ d + \ d + |.. \ D +)? (? [ЕЕ] [- +] \ d +)
Когда я тестирую код регулярного выражения в консоли Chrome, он работает (как в этих примерах)
/^(?:\d{0,8})(?:,\d{0,3})?$/.test('1234,12');
/^(?:\d{0,8})(?:,\d{0,3})?$/.test('123,');
но не работает внутри ввода. Что я могу делать не так?