本来自己实现的获取身份证号码很简单,但是考虑到通用型,又重构了一下。
注释不多,但也足够了,代码即注释。
直接上代码,如下:
//验证容器元素是否连续
bool IsContuity(vector<int> vec_int)
{
int length = vec_int.size();
if (1 == length)
{
return true;
}
for (int index = 0; index < length - 1; ++index)
{
if (vec_int[index] + 1 != vec_int[index + 1])
{
return false;
}
}
return true;
}
//验证18位身份证号码是否有效
bool IsValidID(const string& str_id)
{
int weight[] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
char valid_num[] = { '1','0','X','9','8','7','6','5','4','3','2' };
int sum = 0;
int mode = 0;
int length = str_id.length();
if (length == 18)
{
for (int