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;
}
}