根据身份证号怎么查询是真还是假?
如题,我输入一个身份证号码,如果输入正确,提示,该身份证正确,如果错误,提示,不存在的身份证号码!
请问怎么做????
------解决方案--------------------身份证号码规则  
http://apps.hi.baidu.com/share/detail/16294928
------解决方案--------------------你是只判断身份证格式正确的话,用正则表达大师。如果你要判断这个身份证存不存在,那就看看这个连接
http://hi.baidu.com/%CC%EC%CC%C3%C8%CB%BC%E4%CF%FE/blog/item/96938d1849849a72dbb4bd0d.html
------解决方案--------------------写错字了。是正则表达式
------解决方案--------------------这个需要money  不对外开放 ip139  5元一次
------解决方案--------------------取决于你对真假的定义。如果只是校验码正确与否的话,那么有算法,如果是这个身份证是否真的对应一个人,就要问公安局了。因为这是动态变化的。一个人死掉了,那么身份证就注销了。另外还有很低很低的概率,身份证会出现重复。
------解决方案--------------------公安局。
------解决方案--------------------
只是不全吧。要收费的,从公安局查的话。  
public static void GetGroup(int V, Itm itm)
       {
           for (int k1 = 0; k1 <= 1; k1++)
           {
               for (int k2 = 0; k2 <= 1; k2++)
               {
                   for (int k3 = 0; k3 <= 1; k3++)
                   {
                       for (int k4 = 0; k4 <= 1; k4++)
                       {
                           for (int k5 = 0; k5 <= 1; k5++)
                           {
                               for (int k6 = 0; k6 <= 1; k6++)
                               {
                                   Itm itmNew = new Itm(0,
                                           k1.ToString(),
                                       k2.ToString(),
                                       k3.ToString(),
                                       k4.ToString(),
                                       k5.ToString(),
                                       k6.ToString());
                                   int G = GetSame(itm, itmNew);
                                   //绝对相等
                                   //含有 Arr AnyOf
                                   if (G == V - 2)
                                   {
                                       Console.Write(itmNew.ToString());
                                       Console.Write("  " + G.ToString());
                                       Console.Write("  (0:" + GetSame(itmNew, itm, "0") + ")");
                                       Console.WriteLine("  (1:" + GetSame(itmNew, itm, "1") + ")");
                                   }
                               }
                           }
                       }
                   }
               }
           }
       }
       /// <summary>
       ///  
       /// </summary>
       /// <param name="itmA">前</param>
       /// <param name="ItmB">后</param>
       /// <returns></returns>
       public static int GetSame(Itm itmA, Itm ItmB)
       {
           int iCount = 0;
           if (itmA.P1 == ItmB.P1) iCount++;
           if (itmA.P2 == ItmB.P2) iCount++;
           if (itmA.P3 == ItmB.P3) iCount++;
           if (itmA.P4 == ItmB.P4) iCount++;
           if (itmA.P5 == ItmB.P5) iCount++;
           if (itmA.P6 == ItmB.P6) iCount++;
           return iCount;
       }
       /// <summary>
       /// 模型类
       /// </summary>
       public class Itm
       {
           public int ID { set; get; }