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...