Sha256: 3a82263499ad3ecff719b7140eabc637a4cf3e665629bf27cbae43f14869e24f
Contents?: true
Size: 1.39 KB
Versions: 4
Compression:
Stored size: 1.39 KB
Contents
(function($) { $.fn.bootstrapValidator.i18n.ean = $.extend($.fn.bootstrapValidator.i18n.ean || {}, { 'default': 'Please enter a valid EAN number' }); $.fn.bootstrapValidator.validators.ean = { /** * Validate EAN (International Article Number) * Examples: * - Valid: 73513537, 9780471117094, 4006381333931 * - Invalid: 73513536 * * @see http://en.wikipedia.org/wiki/European_Article_Number * @param {BootstrapValidator} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - message: The invalid message * @returns {Boolean} */ validate: function(validator, $field, options) { var value = $field.val(); if (value === '') { return true; } if (!/^(\d{8}|\d{12}|\d{13})$/.test(value)) { return false; } var length = value.length, sum = 0, weight = (length === 8) ? [3, 1] : [1, 3]; for (var i = 0; i < length - 1; i++) { sum += parseInt(value.charAt(i), 10) * weight[i % 2]; } sum = (10 - sum % 10) % 10; return (sum + '' === value.charAt(length - 1)); } }; }(window.jQuery));
Version data entries
4 entries across 4 versions & 2 rubygems