[Unidad] Verifique la validez del número de identificación

Use una cadena de caracteres para verificar la validez del número de identificación de 18 dígitos.

 

Reglas de verificación (principios):

 

 

 Código:

// 校验 身份证 号
public  static  bool CheckIDCard18 ( string str) 
{ 
   if (str.Length < 18 ) return  false ; 

   string number17 = str.Substring ( 0 , 17 );
   patrón de cadena = @ " ^ \ d * $ " ;
   if (! Regex.IsMatch (número17, patrón)) devuelve  falso ; 

   cadena número18 = str.Substring ( 17 );
   string check = " 10X98765432 " ;
   En t[] num = { 7 , 9 , 10 , 5 , 8 , 4 , 2 , 1 , 6 , 3 , 7 , 9 , 10 , 5 , 8 , 4 , 2 };
   int suma = 0 ;
   for ( int i = 0 ; i <number17.Length; i ++ ) 
   { 
        sum + = Convert.ToInt32 (number17 [i] .ToString ()) * num [i]; 
   } 
   suma % = 11 ;
   if (number18.Equals (check [sum] .ToString (), StringComparison.OrdinalIgnoreCase)) 
   { 
      return  true ; 
   } 
   else 
   { 
      return  false ; 
   } 

}

 

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/weigangblog/p/12738366.html
Recomendado
Clasificación