UNPKG

uview-next

Version:

基于uView UI 2.0,110+高质量组件库,支持vue2和vue3,支持鸿蒙,支持多语言,搭配便捷工具助力,让开发更得心应手

34 lines (26 loc) 618 B
import ITF from './ITF'; // Calculate the checksum digit const checksum = (data) => { const res = data .substr(0, 13) .split('') .map(num => parseInt(num, 10)) .reduce((sum, n, idx) => sum + (n * (3 - (idx % 2) * 2)), 0); return Math.ceil(res / 10) * 10 - res; }; class ITF14 extends ITF { constructor(data, options) { // Add checksum if it does not exist if (data.search(/^[0-9]{13}$/) !== -1) { data += checksum(data); } super(data, options); } valid() { return ( this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data) ); } } export default ITF14;