解析身份证

/// <summary>
/// 解析身份证
/// </summary>
/// <param name="IDCard"></param>
/// <returns>list: 0.BIRTHDAY, 1.AGE, 2.AGEUNIT, 3.SEX</returns>
public static List<string> GetBirthdayAgeSexFromIDCard(string IDCard)
{
List<string> strList = new List<string>();

try
{
if (!string.IsNullOrEmpty(IDCard))
{
string BIRTHDAY = string.Empty;
string SEX = string.Empty;

if (IDCard.Length == 18)
{
if (FrameWorkUtility.CheckIDCardLong(IDCard))
{
BIRTHDAY = IDCard.Substring(6, 4) + "-" + IDCard.Substring(10, 2) + "-" + IDCard.Substring(12, 2);
SEX = IDCard.Substring(14, 3);
}
else
{
MessageBox.Show("身份证号有误,请重新输入", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return null;
}
}
else if (IDCard.Length == 15)
{
if (FrameWorkUtility.CheckIDCardShort(IDCard))
{
BIRTHDAY = "19" + IDCard.Substring(6, 2) + "-" + IDCard.Substring(8, 2) + "-" + IDCard.Substring(10, 2);
SEX = IDCard.Substring(12, 3);
}
else
{
MessageBox.Show("身份证号有误,请重新输入", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return null;
}
}
else
{
MessageBox.Show("请输入18位身份证号", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return null;
}

if (BIRTHDAY != null)
{

strList.Add(BIRTHDAY);
List<string> strList2 = GetAgeFromBirthday(ConvertUtility.ObjectToDateTime(BIRTHDAY));
if (strList2.Count > 1)
{
strList.Add(strList2[0]);
strList.Add(strList2[1]);
}
}
if (SEX != null)
{
if (int.Parse(SEX) % 2 == 0)
{
strList.Add("2");
}
else if (int.Parse(SEX) % 2 != 0)
{
strList.Add("1");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

return strList;
}

转载于:https://www.cnblogs.com/mapstar/p/10783808.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值