C 身份證號驗證

2021-10-10 13:32:35 字數 907 閱讀 6717

c++身份證號驗證

由於專案需要,在網上的例子大多數都是c#的,所以新增了這個身份證號的驗證的c++程式

實現身份證生成和校驗

bool cid_card_no_generatedlg::idnumberverify(cstring stridnumber)

; byte uccoefficient[17] =;

tchar cszmod[11] =;

for(int i = 0; i< 17; i++)

// 判斷號碼長度是否符合要求

if(stridnumber.getlength() != 18)

//判斷位址碼是否存在

naddrid = _wtoi(stridnumber.left(6));

mapcountyall.lookup(naddrid, straddrinfo);

if(straddrinfo == _t(""))

//判斷出生日期是否正常

nmonth = _wtoi(stridnumber.mid(10, 2));

nday = _wtoi(stridnumber.mid(12, 2));

if((nmonth > 12) || (nday>31))

//判斷校驗碼是否符合要求

for(byte i = 0; i < 17; i++)

nmod = nsum % 11;

strchecksum = cszmod[nmod];

if(strchecksum != stridnumber.right(1))

return true;

}

身份證號驗證

原文 身份證號驗證 public static boolean isidnumber string idnumber 定義判別使用者身份證號的正規表示式 15位或者18位,最後一位可以為字母 string regularexpression 1 9 d 18 19 20 d 0 1 9 10 11 ...

身份證號驗證

身份證號組成 17位數字 1位校驗碼 位址碼 前六位 出生日期碼 第七位至第十位 順序碼 第十五位至十七位 對同年同月同日生的人便定的順序號,順序號奇數為男生,偶數為女生 檢驗碼 第十八位 0 9 x var acity function iscarid sid d x i.test sid ret...

js 身份證號驗證

function iscardid sid var isum 0 var info if d d x i.test sid return 身份證長度或格式錯誤 sid sid.replace x i,a if acity parseint sid.substr 0,2 null return 身份證...