EAN、UPC 和 GTIN 校验位
校验 EAN-8、EAN-13、UPC-A 或 GTIN-14 的校验位,补上缺失的校验位,从 GS1 前缀读出国家,并在 ISBN-10 与 EAN-13 之间转换。每行一个条码。
代码示例
可直接复制到你自己的项目中。每个示例只使用该语言的标准库,因此无需安装任何东西。
const body = '400638133393'
const sum = [...body]
.reverse()
.reduce((total, digit, index) => total + Number(digit) * (index % 2 === 0 ? 3 : 1), 0)
console.log(body + ((10 - (sum % 10)) % 10))功能
校验条码号码的校验位,支持 EAN-8、UPC-A、EAN-13 和 GTIN-14。它还能为没有校验位的条码补上校验位,从 GS1 前缀读出国家,并把 ISBN-10 转成同一本书上印的 EAN-13,或者反过来。每行粘贴一个条码,就能一次处理很多个。
使用方法
- 每行输入或粘贴一个条码。空格和连字符会被忽略。
- 选择操作:校验校验位、计算校验位(不要写最后一位)或转换 ISBN-10 与 EAN-13。
- 查看每个条码的结果,复制某一部分或整个列表。
示例
4006381333931 是来自德国的有效 EAN-13。4006381333932 无效,工具会提示校验位应为 1。主体 400638133393 计算后得到 4006381333931。ISBN-10 的 0306406152 对应的 EAN-13 是 9780306406157。
须知
- 有效表示校验位相符,不表示商品存在,也不表示号码归谁所有。
- 国家来自 GS1 前缀,即前几位数字。它表示发放公司号码的机构,而不是商品的生产地。
- UPC-A 是前面加 0 的 EAN-13,GTIN-14 是在 EAN-13 前面加一位包装指示位。
- 只有以 978 开头的 EAN-13 才有 ISBN-10,以 979 开头的没有。
条码有效是什么意思?
表示校验位与其余数字相符,条码格式正确。这并不能证明商品存在,也不能证明号码属于谁:只有 GS1 数据库能回答。
常见问题
校验位是怎么算的?
从校验位之前的数字最右边开始,依次乘以 3 和 1 再相加。校验位把总和补到下一个 10 的倍数。EAN-8、UPC-A、EAN-13 和 GTIN-14 都用这条规则。
国家代表什么?
EAN-13 的前几位是 GS1 前缀。它表示发放公司号码的 GS1 机构,而不是商品的生产地或销售地。有些前缀用于图书、优惠券或一家公司内部使用。
我输入的内容会被发送到别处吗?
不会。所有校验都在浏览器中进行,条码不会发送到我们的服务器。