javascript 統一編號檢查


最近的網站有這個需求就把以前的程式碼挖了出來,順便貼上來做個紀錄

方法

使用javascript檢查統一編號的程式碼如下
通過的話會回傳true

function check_tax_number(gui_number) {
  const cx = [1, 2, 1, 2, 1, 2, 4, 1];
  const cnum = gui_number.split('');
  let sum = 0;
  function cc(num) {
    let total = num;
    if (total > 9) {
      let s = total.toString();
      const n1 = s.substring(0, 1) * 1;
      const n2 = s.substring(1, 2) * 1;
      total = n1 + n2;
    }
    return total;
  }
  if (gui_number.length !== 8) {
    //長度不對
    return false;
  }
  cnum.forEach((item, index) => {
    if (gui_number.charCodeAt() < 48 || gui_number.charCodeAt() > 57) {
      //有非數字
      return false;
    }
    sum += cc(item * cx[index]);
  });
  if (sum % 10 === 0) {
	return true;
  } else if (cnum[6] === '7' && (sum + 1) % 10 === 0) {
	return true;
  } else {
    //規則檢查不過
	return false;
  }
}
Tags : javascript