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 身份證...