//執行效果如下:checkid_card project main.go
package main
/** ai -> a1 , a2, a3, a4, a5, a6... a17 (a18 是校驗碼) 身份證前17位對應(ai)
* wi -> 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 (17位)
* * int res = 0;
* for (i = 1; i < 17; i++)
* int y = res % 11;
* ** y 與 a18的對應關係
* * y
* a18 -> vefiry[18] = ; */
import (
"fmt""
strconv"//
"os"
//"strings"
)func byte2int(x
byte) byte
return (x - 48) //
'x' - 48 = 40;
}func check_id(id [
17]byte) int
/*for p := 0; p < len(arry); p++
*/var wi [17]int = [...]int
var res int
for i := 0; i < 17; i++
"res = ", res)
return (res % 11)}
func verify_id(verify
int, id_v byte) (bool, string
)
for i = 0; i < 11; i++
else
i, temp)
break
} }
//if id_v == 'x', let's convert it to type string
if (id_v == 88
) else
if temp ==id_v
return
false, "
驗證失敗"}
func usage()
func main()
//將字串,轉換成byte,並儲存到id_card陣列當中
for k, v := range byte
(id_card_string)
//複製id_card[18]前17位元素到id_card_copy陣列當中
for j := 0; j < 17; j++
/*fmt.println(byte2int(id_card[17]))
fmt.println(string(id_card[17]))
*//*
y := check_id(id_card_copy)
fmt.println(y)
*/fmt.println(verify_id(check_id(id_card_copy), byte2int(id_card[
17])))}//
測試身份證號碼:34052419800101001x
//測試身份證號碼:511028199507215915
**託管於github:
驗證身份證號的正確性
1.需求 填寫人員資訊時,輸入的身份證號保證不會輸入錯誤,對輸入的身份證號進行校驗 身份證校驗 如果讓你設計個程式,用什麼變數儲存身份證號碼呢?長整數可以嗎?不可以 因為有人的身份證最後一位是 x 實際上,除了最後一位的x,不會出現其它字母 身份證號碼18位 17位 校驗碼 2.實現的演算法 iso...
居民身份證正確性驗證演算法
public idcard 驗證身份證是否符合格式 param idcard return public boolean verify string idcard if idcard.length 18 獲取輸入身份證上的最後一位,它是校驗碼 string checkdigit idcard.sub...
Python 驗證身份證的正確性並獲得相關的資訊
問題描述 輸入身份證號,校驗身份證號正確與否,不正確給予友情提示,正確請獲得該身份證號對應的是那個省或者直轄市的,出生日期,以及性別 python 如下 d animal d number d city print 請輸入您的身份證號 x input l list x 將輸入的序列轉化為列表 l2 ...