Метод isEAN в библиотеке validator.js предназначен для
проверки корректности международных штрихкодов формата EAN (European
Article Number). Он используется для валидации строк, которые должны
соответствовать стандартам EAN-8 или EAN-13, применяемым в розничной
торговле, логистике и системах идентификации товаров.
EAN-код представляет собой числовую последовательность фиксированной
длины, содержащую контрольную цифру, вычисляемую по алгоритму модуля 10
с весами 1 и 3. Метод isEAN реализует проверку как
структуры строки, так и корректности контрольной суммы.
isEAN(str [, options])
str — строка, содержащая предполагаемый EAN-кодoptions — необязательный объект конфигурацииМетод поддерживает два основных стандарта:
Строка должна состоять исключительно из цифр без пробелов, дефисов или других разделителей, если не указано иное в параметрах обработки.
Проверка EAN-кода включает несколько этапов:
Алгоритм вычисления контрольной суммы:
import validator from 'validator';
validator.isEAN('4006381333931'); // true
validator.isEAN('4006381333932'); // false
В первом случае код корректен: длина соответствует EAN-13, а контрольная цифра совпадает с вычисленной. Во втором случае нарушена целостность контрольной суммы.
validator.isEAN('96385074'); // true или false в зависимости от контрольной цифры
EAN-8 используется для маркировки небольших товаров, где нет необходимости в длинном идентификаторе.
Объект options позволяет уточнить правила проверки.
validator.isEAN('4006 3813 3393 1', { ignore_whitespace: true });
Позволяет игнорировать пробелы в строке перед проверкой. Это удобно при обработке пользовательского ввода или данных из внешних источников, где форматирование может быть нестабильным.
Метод ориентирован на строгую валидацию, поэтому:
falseЧасто встречающиеся проблемы при проверке EAN:
validator.isEAN(4006381333931); // некорректно
isEAN без
предварительной конвертацииВ библиотеке Validator.js существуют другие методы для похожих задач, но с различной областью применения:
isISBN — для книжных идентификаторовisUPC — для универсальных товарных кодов СШАisEAN — международный стандарт товарной маркировкиEAN является более глобальным стандартом и включает в себя UPC как частный случай расширенной системы идентификации.
Перед передачей строки в isEAN часто выполняется
предварительная нормализация:
const code = String(input).replace(/\s+/g, '');
validator.isEAN(code);
Такая подготовка снижает вероятность ложных отрицательных результатов при валидации данных, поступающих из пользовательских интерфейсов или внешних API.
Проверка EAN активно используется в следующих областях:
Корректная валидация позволяет избежать ошибок при идентификации товаров и снижает риск некорректного сопоставления SKU.
Метод возвращает строго булево значение:
true — строка соответствует стандарту EANfalse — любое отклонение от формата или контрольной
суммыОтсутствие исключений делает метод удобным для использования в цепочках валидации и массовой проверке данных.