Режим целых чисел (integer mode) в библиотеке AutoNumeric предназначен для работы с полями ввода, где допустимы только целые числа без десятичных знаков. Этот режим особенно полезен для ввода количества товаров, идентификаторов, счетчиков или любых значений, где дробные части недопустимы.
Важные параметры конфигурации режима целых чисел:
decimalPlaces: задается значение 0. Это
гарантирует, что дробная часть всегда отсутствует.digitGroupSeparator: позволяет задавать разделитель
тысяч для удобного чтения больших чисел. Например, пробел или
запятая.allowNegative: контролирует возможность ввода
отрицательных чисел. Значение true разрешает отрицательные
числа, false блокирует.minimumValue и maximumValue: определяют
диапазон допустимых значений. Например, minimumValue: "0"
ограничит ввод только положительными числами.Пример инициализации поля для целых чисел с разделителем тысяч:
new AutoNumeric('#integerInput', {
decimalPlaces: 0,
digitGroupSeparator: ' ',
allowNegative: true,
minimumValue: '-1000',
maximumValue: '1000'
});
AutoNumeric автоматически форматирует ввод пользователя при потере
фокуса. Например, если пользователь вводит 1234, после
выхода из поля значение преобразуется в 1 234 при
установленном разделителе тысяч.
Особенности форматирования:
1000000 →
1 000 000.- перед числом или скобки при
специфических настройках).AutoNumeric обеспечивает защиту от некорректного ввода на лету. При включенном режиме целых чисел:
maximumValue значение корректируется на
допустимый максимум, аналогично для minimumValue.Пример валидации:
const anInteger = new AutoNumeric('#integerInput', {
decimalPlaces: 0,
allowNegative: false,
minimumValue: '0',
maximumValue: '5000'
});
// Программная проверка текущего значения
console.log(anInteger.getNumber()); // Вернет число типа Number
Если allowNegative: true, пользователь может вводить
отрицательные значения. AutoNumeric корректно обрабатывает:
Пример:
new AutoNumeric('#negativeInteger', {
decimalPlaces: 0,
allowNegative: true,
minimumValue: '-9999',
maximumValue: '9999'
});
Режим целых чисел полностью поддерживает стандартные события AutoNumeric:
autoNumeric:preSet – вызывается перед программной
установкой нового значения.autoNumeric:postSet – после установки значения.autoNumeric:invalid – при попытке ввести недопустимое
значение.Пример использования событий:
const an = new AutoNumeric('#integerInput', { decimalPlaces: 0 });
an.domElement.addEventListener('autoNumeric:invalid', function(e) {
console.warn('Введено недопустимое значение:', e.detail.newValue);
});
AutoNumeric предоставляет методы для работы с числами в режиме целых чисел:
set(value) – устанавливает новое значение.getNumber() – возвращает значение как тип
Number.getFormatted() – возвращает форматированное строковое
значение с разделителями тысяч.update(settings) – динамически меняет настройки после
инициализации.Пример обновления диапазона:
an.update({
minimumValue: '10',
maximumValue: '1000'
});
Backspace и Delete работают ожидаемым образом,
даже при использовании разделителей тысяч.Режим целых чисел поддерживает локальные стандарты:
digitGroupSeparator) можно выбрать в
зависимости от региона: пробел, запятая, точка.negativePositiveSignPlacement.Пример настройки под европейский стандарт:
new AutoNumeric('#integerInput', {
decimalPlaces: 0,
digitGroupSeparator: '.',
allowNegative: true,
negativePositiveSignPlacement: 'l' // знак слева
});
Режим целых чисел AutoNumeric обеспечивает строгую, но гибкую обработку целочисленных значений, позволяя поддерживать корректность, удобочитаемость и высокое качество UX.