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
- js正則驗證身份證號JS
- 中國身份證號驗證庫
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- javascript身份證號碼校驗JavaScript
- Javascript使用正則驗證身份證號(簡單)JavaScript
- C++批次核驗身份證真偽、實名認證介面、身份證識別C++
- JS驗證18位身份證號的正確性JS
- 身份證驗證工具類
- swift 郵箱、密碼、手機號、身份證驗證正則Swift密碼
- JS校驗身份證號的合法性JS
- python - 驗證身份證合法性Python
- 【PTA】查驗身份證
- PHP校驗15位和18位身份證號PHP
- iOS身份證號識別iOS
- 用 python 製作全國身份證號驗證及查詢系統Python
- 身份證號碼的正規表示式及驗證詳解(JavaScript,Regex)JavaScript
- jQuery如何用正規表示式驗證手機號、身份證號、中文名稱jQuery
- kafka SASL/PLAIN 身份驗證KafkaAI
- 客戶端身份驗證客戶端
- 舊香港身份證校驗
- 驗證身份證號碼格式並且得到出生年月和性別
- excel身份證號提取年齡公式 身份證號碼提取精確年齡的公式Excel公式
- 在Delphi中使用正規表示式校驗身份證號
- jQuery驗證手機號郵箱身份證的正規表示式(含港澳臺)jQuery
- asp.core 同時相容JWT身份驗證和Cookies 身份驗證兩種模式JWTCookie模式
- 7-3 查驗身份證
- 身份證合法性校驗
- SpringBoot整合JWT做身份驗證Spring BootJWT
- C++身份證二要素實名認證api、實名認證介面C++API
- excel身份證號計算年齡Excel
- 直播軟體搭建,姓名,身份證input驗證過濾
- JavaScript身份證真偽查驗介面廠家有哪些?身份證查詢真偽JavaScript
- 開發示例、C++身份證二要素實名認證介面C++
- 手機號碼驗證方法(正則驗證)
- Rust中實現JWT身份驗證RustJWT
- 【仙山】flutter版谷歌身份驗證器Flutter谷歌
- 簡聊 Session 與 Token 身份驗證Session