日期:2014-05-18  浏览次数:20922 次

怎样从身份证号中提取出生日期和性别。。帮个忙吧。俺是菜鸟



我是个小白啊。。。向高手们请教。。谢谢了。

------解决方案--------------------
string id="500223198809234421";
string birthday=id.SubString(6,8);
if(int.Parse(id.SubString(15,16))/2==0)
{
MessageBox.Show("女")
}
else
{
MessageBox.Show("男")
}
------解决方案--------------------
探讨

string id="500223198809234421";
string birthday=id.SubString(6,8);
if(int.Parse(id.SubString(15,16))/2==0)
{
MessageBox.Show("女")
}
else
{
MessageBox.Show("男")
}

------解决方案--------------------
SubString(第几位开始,共截取几位)
------解决方案--------------------
C# code

        /// <summary>
        /// 获取性别
        /// </summary>
        /// <param name="cardId"></param>
        /// <returns></returns>
        public virtual bool GetSex(string cardId)
        {
            if (RegexCard(cardId))
            {
                string sexCode = string.Empty;
                if (cardId.Length == 15)
                {
                    sexCode = cardId.Substring(14, 1);
                }
                else
                {
                    //18位身份证取第17位数
                    sexCode = cardId.Substring(16, 1);
                }
                int sexNum = int.Parse(sexCode);
                return GetSex(sexNum);
            }
            else
            {
                throw new Exception("未通过身份验证!");
            }
        }

        private bool GetSex(int sexNum)
        {
            if (sexNum % 2 == 1)
            {
                return true;
            }
            else
            {
                return false;
            }
        }