/// </summary>
/// <param name="idCard">二代身份证号码</param>
/// <returns>一代身份证号码</returns>
public static string Convert15to18(string idCard)
{
string code = idCard.Trim();//获得身份证号码
if (code.Length == 15)//如果是15位则转换
{
char[] strJY = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };
int[] intJQ = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 };
string strTemp;
int intTemp = 0;
strTemp = code.Substring(0, 6) + "19" + code.Substring(6);
for (int i = 0; i <= strTemp.Length - 1; i++)
{
intTemp = intTemp + int.Parse(strTemp.Substring(i, 1)) * intJQ[i];
}
intTemp = intTemp % 11;
return strTemp + strJY[intTemp];
}
else
{
if (code.Length == 18)//如果是18位直接返回
{
return code;
}
return string.Empty;//如果即不是15位也不是18位则返回空
}
}