C++身份證號驗證
C++身份證號驗證
由於專案需要,在網上的例子大多數都是C#的,所以新增了這個身份證號的驗證的C++程式
實現身份證生成和校驗
BOOL CID_Card_No_GenerateDlg::IDNumberVerify(CString strIDNumber)
{
CString strIDNumberInfo, strTemp = _T("");
CString strAddrInfo = _T(""), strYear, strMonth, strDay, strMale, strCheckSum;
INT nAddrID, nMonth, nDay, nSum = 0, nMod;
BYTE ucIDInfo[17] ={ NULL };
BYTE ucCoefficient[17] ={7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9,10, 5, 8, 4, 2};
TCHAR cszMod[11] ={'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
for(INT i = 0; i< 17; i++)
{
ucIDInfo[i] = _wtoi(strIDNumber.Mid(i, 1));
}
// 判斷號碼長度是否符合要求
if(strIDNumber.GetLength() != 18)
{
SetDlgItemText(IDC_EDIT_ID_INFO, _T("請輸入18位有效身份證號"));
return FALSE;
}
//判斷地址碼是否存在
nAddrID = _wtoi(strIDNumber.Left(6));
mapCountyAll.Lookup(nAddrID, strAddrInfo);
if(strAddrInfo == _T(""))
{
SetDlgItemText(IDC_EDIT_ID_INFO, _T("無法查詢到地址資訊,請輸入有效身份證號"));
return FALSE;
}
//判斷出生日期是否正常
nMonth = _wtoi(strIDNumber.Mid(10, 2));
nDay = _wtoi(strIDNumber.Mid(12, 2));
if((nMonth > 12) || (nDay>31))
{
SetDlgItemText(IDC_EDIT_ID_INFO, _T("無效的出生日期, 請輸入有效身份證號"));
return FALSE;
}
//判斷校驗碼是否符合要求
for(BYTE i = 0; i < 17; i++)
{
nSum += ucCoefficient[i] * ucIDInfo[i];
strTemp.Format(_T("%d"), ucIDInfo[i]);
}
nMod = nSum % 11;
strCheckSum = cszMod[nMod];
if(strCheckSum != strIDNumber.Right(1))
{
SetDlgItemText(IDC_EDIT_ID_INFO, _T("校驗碼錯誤,請輸入有效身份證號"));
return FALSE;
}
return TRUE;
}
專案工程可以到資源裡下載
相關文章
- PHP 驗證身份證號碼PHP
- 中國身份證號驗證庫
- C#驗證身份證號C#
- js正則驗證身份證號JS
- 身份證號碼驗證系統
- 身份證號碼之js驗證JS
- 身份證號碼驗證演算法演算法
- js實現身份證號碼驗證JS
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- 精確驗證身份證號碼程式碼
- javascript身份證號碼校驗JavaScript
- Javascript使用正則驗證身份證號(簡單)JavaScript
- javascript 驗證身份證JavaScript
- C++批次核驗身份證真偽、實名認證介面、身份證識別C++
- JS驗證18位身份證號的正確性JS
- javascript實現的身份證號碼驗證程式碼JavaScript
- 身份證驗證工具類
- java 實現從15位~18位的身份證號碼轉換,校驗中國大陸公民身份證、香港居民身份證、澳門身份證和臺灣身份證。Java
- WEB身份驗證Web
- swift 郵箱、密碼、手機號、身份證驗證正則Swift密碼
- JS校驗身份證號的合法性JS
- PHP 身份證精確匹配驗證PHP
- 正則實現二代身份證號碼驗證詳解
- javascript實現的身份證號碼合法性驗證程式碼JavaScript
- 精確驗證身份證號碼合法性程式碼例項
- Oracle的身份驗證Oracle
- php與js方式驗證手機號碼和郵件地址的合法性,js驗證身份證號碼PHPJS
- PHP校驗15位和18位身份證號PHP
- 身份證號碼校驗位的計算方式
- iOS身份證號識別iOS
- JS驗證身份證的合法性JS
- jQuery正則驗證15/18身份證jQuery
- 用 python 製作全國身份證號驗證及查詢系統Python
- jQuery如何用正規表示式驗證手機號、身份證號、中文名稱jQuery
- 作業系統身份驗證和口令檔案身份驗證總結作業系統
- oracle常見身份驗證Oracle
- 客戶端身份驗證客戶端
- 身份證號碼的正規表示式及驗證詳解(JavaScript,Regex)JavaScript