﻿function check_identity ( id)
{
　　if (id.length == 0){
　　　　 return 2 //name + '身分證字號還沒填呢 !\n';
　　}
　　　　 
　　var id=id.toUpperCase()
　　if (id.length != 10)
　　　　{
　　　　return 2 //'身分證號碼錯誤！!\n';
　　　　}
//=================
        for(p=2;p<10;p++)
        {
            if(id.charCodeAt(p)<"0".charCodeAt(0)||id.charCodeAt(p)>"9".charCodeAt(0))
            {
                return 4 // 後九碼要數字
            }
        }

//=========================
　　var ID_Input　　　　= new Array(10)
　　for (var i=0; i<10; i++) { ID_Input[i] = id.charAt(i) }
　　var EngString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
　　ID_Input[0]　　 = EngString.indexOf(ID_Input[0])
　　if (ID_Input[0] == -1)
　　　　{
　　　　return 3 //'身分證號碼錯誤！\r\n無開頭的字母！'
　　　　}
　　if (ID_Input[1] !=1 && ID_Input[1] !=2)
　　　　{
　　　　return 1 //'身分證號碼錯誤！\r\n無法辨識性別！'
　　　　}
　　var NumArray　　= new Array(26)
　　NumArray[0]　　 = 1 ; NumArray[1]　　= 10; NumArray[2]　　= 19;
　　NumArray[3]　　 = 28; NumArray[4]　　= 37; NumArray[5]　　= 46;
　　NumArray[6]　　 = 55; NumArray[7]　　= 64; NumArray[8]　　= 39;
　　NumArray[9]　　 = 73; NumArray[10] = 82; NumArray[11] = 2 ;
　　NumArray[12]　　= 11; NumArray[13] = 20; NumArray[14] = 48;
　　NumArray[15]　　= 29; NumArray[16] = 38; NumArray[17] = 47;
　　NumArray[18]　　= 56; NumArray[19] = 65; NumArray[20] = 74;
　　NumArray[21]　　= 83; NumArray[22] = 21; NumArray[23] = 3 ;
　　NumArray[24]　　= 12; NumArray[25] = 30;
　　var result = NumArray[ID_Input[0]]
　　for (var i=1; i<10; i++)
　　　　{
　　　　var NumString = '0123456789'
　　　　ID_Input[i] = NumString.indexOf(ID_Input[i])
　　　　if (ID_Input[i] == -1)
　　　　　　{
　　　　　　return 1 //'身分證號碼錯誤！\r\n數字檢查錯誤！'
　　　　　　}
　　　　else
　　　　　　{ result += ID_Input[i] * (9-i) }
　　　　}

　　result += 1 * ID_Input[9]
　　if (result % 10 != 0)
　　　　{
　　　　return 1 // '身分證號碼錯誤！\r\n加總檢查錯誤！'
　　　　}
　　return 0;
}
