求一个后台能判断填写的身份证号是否大于18岁的判断。不知道该如何做。求教大神~C#web

解决方案 »

  1.   

    XXXXXXyyyymmddXXXX 身份证中间yyyymmdd表示出生年月的,现在时间减出生年月求年龄呗
      

  2.   


                string pid = "210532298105062562";
                string dateStr = pid.Substring(6, 8);
                dateStr = dateStr.Substring(0, 4) + "-" + dateStr.Substring(4, 2) + "-" + dateStr.Substring(6);
                DateTime birthday;
                if (DateTime.TryParse(dateStr, out birthday))
                {
                    int currentYear = DateTime.Now.Year;
                    int birthdayYear = birthday.Year;
                    int age = currentYear-birthdayYear;
                    if (age >= 18 && age < 150)//大于18,小于150
                    {
                        Console.WriteLine("大于18,小于150");
                    }
                    else if (age < 18 && age > 0)
                    {
                        Console.WriteLine("小于18");
                    }
                    else if (age <= 0)
                    {
                        Console.WriteLine("还没出生");
                    }
                    else
                    {
                        Console.WriteLine("已经死了");
                    }
                    
                }
                else
                {
                    Console.WriteLine("身份证时间格式不正确");
                }
                Console.ReadLine();
      

  3.   

    身份证号中包含了出生年月的,
    这样就可以读取的,
    至于
    身份证号不让输入,
    用二代身份证阅读器,自动提取,
    这个用于 winform 中
    web 不好办