Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Beispielanalyse zur Überprüfung der ID-Nummer (Richtigkeit)

C#-Beispielanalyse zur Überprüfung der ID-Nummer (Richtigkeit)

黄舟
黄舟Original
2017-07-26 15:25:292186Durchsuche

In diesem Artikel wird hauptsächlich der Beispielcode von C# zur Überprüfung der Richtigkeit der ID-Kartennummer vorgestellt, einschließlich der Überprüfung der 18-stelligen Nummer und der 15-stelligen Nummer. Freunde in Not können sich darauf beziehen

Sah Es gibt heute einen Artikel über die Verifizierungsmethode und den Beispielcode für die Verifizierung von 18-stelligen Ausweisnummern in C#. Ich persönlich finde ihn ziemlich gut, also habe ich ihn für die zukünftige Verwendung aufgeschrieben !

18-stellige Nummer:


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(&#39;x&#39;, &#39;0&#39;).Replace(&#39;X&#39;, &#39;0&#39;), out n) == false)
      {
        return false;
      }
      string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
      if (address.IndexOf(Id.Remove(2)) == -1)
      {
        return false;
      }
      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(&#39;,&#39;);
      string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(&#39;,&#39;);
      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.pRem(sum, 11, out y);
      if (arrVarifyCode[y] != Id.Substring(17, 1).ToLower())
      {
        return false;
      }
      return true;//正确
    }

15-stellig Nummer:


private static bool CheckIDCard15(string 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.Substring(6, 6).Insert(4, "-").Insert(2, "-");
      DateTime time = new DateTime();
      if (DateTime.TryParse(birth, out time) == false)
      {
        return false;
      }
      return true;//正确
    }

Zusammenfassung

Das obige ist der detaillierte Inhalt vonC#-Beispielanalyse zur Überprüfung der ID-Nummer (Richtigkeit). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn