身份證號碼驗證演算法

2021-07-29 14:20:40 字數 1121 閱讀 8287

title: 身份證號碼驗證演算法

date: 2016-06-26 16:36:41

categories: 演算法

tags:

- 演算法

經常會見到一些鑑別身份證號碼是否真實的辨別,根據網上的身份證號碼驗證演算法,做以總結。

公民身份證號碼是特徵組合碼,由十七位數字和一位校驗碼組成。

表示編碼物件常住戶口所在縣(市、旗、區)的行政區域劃分**,按gb/t2260的規定執行。

表示編碼物件出生的年、月、日,按gb/t7408的規定執行,年、月、日**之間不用分隔符。

表示在同一位址碼所標識的區域範圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性。

4.1 十七位數字本體碼加權求和公式

4.2 計算模值

y = mod(s,11)

4.3 根據計算的模值,查詢得到對應的校驗碼

public

class

id18

;//十七位數字本體碼權重

char

validate=

;//mod11,對應校驗碼字元值

public

char

getvalidatecode

(string id17)

mode = sum %11;

return validate[mode];}

public

static

void

main

(string[

] args)

}

1.程式可以根據已有的17位數字本體碼,獲取對應的驗證碼。

2.該程式可以剔除驗證碼不正確的身份證號碼。

3.15位的身份證出生年份採用年份後2位,沒有最後1位校驗碼。

4.完整的身份證18位,最後一位校驗位可能是非數字。我們的乙個專案,資料庫儲存前17位數字,這樣對應一些sql語句(比如inner join)有加速作用的!!!

身份證號碼驗證

說明 驗證身份證的有效性 引數 cid 身份證號碼 返回 地方 出生時間 性別 private string checkcidinfo string cid if cid.length 18 char c cid cid.length 1 bool last false if c 0 c 9 c a...

驗證身份證號碼

好久沒更新了,今天簽到啦。感覺這個驗證挺重要的,也挺常用的,所以分享給需要的朋友。驗證身份證號碼,在網上找到的好東東 function checkidcard idcard var idcard,y,jym var s,m var idcard array new array idcard arra...

驗證身份證號碼

var idcardnoutil powers 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 paritybit 1 0 x 9 8 7 6 5 4 3 2 genders checkaddresscode function addresscode test address...