大连做网站

当前位置:

大连网站制作,C#检验身份证号(包括18位和15位)并提取生日和性别

浏览量:5298次

大连做网站大连建网站



  ///

  /// 考据身份证号码

  ///

  ///

  ///

  public static bool CheckIDCard(string Id)

  {

  if (Id.Length==18)

  {

  bool check=CheckIDCard18(Id);

  return check;

  }

  else if (Id.Length==15)

  {

  bool check=CheckIDCard15(Id);

  return check;

  }

  else

  {

  return false;

  }

  }

  private static bool CheckIDCard18(string Id)

  {

  long n=0;

if (long.TryParse(Id.Remove(17),做网站 out n)==false || n < Math.Pow(10, 16) || long.TryParse(Id.Replace('x', '0').Replace('X', '0'), out n)==false)

  {

  return false;//数字考证

  }

  string address="11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";

  if (address.IndexOf(Id.Remove(2))==-1)

  {

return f做网站alse;//省分验证

  }

  string birth=Id.Substring(6, 8).Insert(6, "-").Insert(4, "-");

  DateTime time=new DateTime();

  if (DateTime.TryParse(birth, out time)==false)

  {

  return false;//生日考据

  }

  string[] arrVarifyCode=("1,0,x,9,8,7,6,5,4,3,2").Split(',');

  string[] Wi=("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(',');

char[] 做网站Ai=Id.Remove(17).ToCharArray();

  int sum=0;

  for (int i=0; i < 17; i++)

  {

  sum +=int.Parse(Wi[i]) * int.Parse(Ai[i].ToString());

  }

  int y=-1;

  Math.DivRem(sum, 11, out y);

  if (arrVarifyCode[y] !=Id.Substring(17, 1).ToLower())

  {

  return false;//校验码验证

  }

  return true;//相宜GB11643-1999规范

  }

private static bool CheckIDCard15(s做网站tring Id)

  {

  long n=0;

  if (long.TryParse(Id, out n)==false || n < Math.Pow(10, 14))

  {

  return false;//数字考据

  }

  string address="11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";

  if (address.IndexOf(Id.Remove(2))==-1)

  {

  return false;//省份考证

  }

string birth=Id.Sub做网站string(6, 6).Insert(4, "-").Insert(2, "-");

  DateTime time=new DateTime();

  if (DateTime.TryParse(birth, out time)==false)

  {

  return false;//华诞考据

  }

  return true;//契合15位身份证标准

  }

  ///

  /// 遵循身份证号得到华诞

  ///

  ///

  ///

  public static string GetBrithdayFromIdCard(string IdCard)

  {

  string rtn="1900-01-01";

  if (IdCard.Length==15)

  {

rtn=I做网站dCard.Substring(6, 6).Insert(4, "-").Insert(2, "-");

  }

  else if (IdCard.Length==18)

  {

  rtn=IdCard.Substring(6, 8).Insert(6, "-").Insert(4, "-");

  }

  return rtn;

  }

  ///

  /// 按照身份证获取性别

  ///

  ///

  ///

  public static string GetSexFromIdCard(string IdCard)

  {

  string rtn;

  string tmp="";

  if (IdCard.Length==15)

  {

tmp=IdCard.Substring(Id做网站Card.Length - 3);

  }

  else if (IdCard.Length==18)

  {

  tmp=IdCard.Substring(IdCard.Length - 4);

  tmp=tmp.Substring(0, 3);

  }

  int sx=int.Parse(tmp);

  int outNum;

  Math.DivRem(sx, 2, out outNum);

  if (outNum==0)

  {

  rtn="女";

  }

  else

  {

  rtn="男";

  }

  return rtn;

  }

大连做网站就找春秋科技,春秋科技是一家专注于大连网站建设、大连网站设计、大连网站制作、大连做网站、大连建网站等服务的大连网站建设公司。已成功帮助10000多家企业实现网上盈利,为企业提供大连网站建设一站式服务。

24小时服务热线:13733108860

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【】,我们在确认后,会立即删除,保证您的版权。