CheckSocialCreditCode(Code) {
var patrn = /^[0-9A-Z]+$/; //18位校驗及大寫校驗
if (Code.length != 18 || patrn.test(Code) == false) {
console.log(1234);
return false;
} else {
var Ancode; //統一社會信用代碼的每一個值
var Ancodevalue; //統一社會信用代碼每一個值的權重
var total = 0;
var weightedfactors = [
1,
3,
9,
27,
19,
26,
16,
17,
20,
29,
25,
13,
8,
24,
10,
30,
28
]; //加權因子
var str = "0123456789ABCDEFGHJKLMNPQRTUWXY"; //不用I、O、S、V、Z
for (var i = 0; i < Code.length - 1; i++) {
Ancode = Code.substring(i, i + 1);
Ancodevalue = str.indexOf(Ancode);
total = total + Ancodevalue * weightedfactors[i]; //權重與加權因子相乘之和
}
var logiccheckcode = 31 - (total % 31);
if (logiccheckcode == 31) {
logiccheckcode = 0;
}
var Str =
"0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";
var Array_Str = Str.split(",");
logiccheckcode = Array_Str[logiccheckcode];
var checkcode = Code.substring(17, 18);
if (logiccheckcode != checkcode) {
console.log(123);
return false;
} else {
}
return true;
}
},
cheackCreditCode(value) {
if (this.CheckSocialCreditCode(value) == false) {
this.$message({
message: "請輸入有效的信用代碼!",
type: "error"
});
return false;
}
},