소년포비의 세계정복!!

[C#] 주민번호체크 본문

프로그램 세상/C#

[C#] 주민번호체크

소년포비 2009. 10. 9. 11:15

주민번호채크를 구현하다보면 -으로 구분해서 입력을 받을 때가 있고,

아니면 구분없이 한번에 입력을 받을 경우가 있습니다.

그래서 실제 처리부분을 호출하는식으로 오버로딩을 해봤습니다.

 

public bool isIDNum(string juminNo)

  {

   return IDNumProc(juminNo);

  }

  // 주민번호 채크

  public bool isIDNum(string juminNo1, string juminNo2)

  {

   string juminNo = juminNo1 + juminNo2;

   return IDNumProc(juminNo);

 

  }

  // 실제 주민번호 유효성 채크

  private bool IDNumProc(string juminNo)

  {

   string[] ArrayJumin = new string[13];

           

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

   {

    ArrayJumin[i] = juminNo.Substring(i, 1);

   }

 

   int total = 0;

         

   total += int.Parse(ArrayJumin[0]) * 2;

   total += int.Parse(ArrayJumin[1]) * 3;

   total += int.Parse(ArrayJumin[2]) * 4;

   total += int.Parse(ArrayJumin[3]) * 5;

   total += int.Parse(ArrayJumin[4]) * 6;

   total += int.Parse(ArrayJumin[5]) * 7;

   total += int.Parse(ArrayJumin[6]) * 8;

   total += int.Parse(ArrayJumin[7]) * 9;

   total += int.Parse(ArrayJumin[8]) * 2;

   total += int.Parse(ArrayJumin[9]) * 3;

   total += int.Parse(ArrayJumin[10]) * 4;

   total += int.Parse(ArrayJumin[11]) * 5;

           

   total = total % 11;

 

   if((int.Parse(ArrayJumin[12]) == (11 - total)))

    return true;   

   else

    return false;

  }

'프로그램 세상 > C#' 카테고리의 다른 글

Chart Control  (0) 2009.10.09
[C#] 시리얼 통신 소스 코드  (0) 2009.10.09
[C#] FTP 업로드  (0) 2009.10.08
[C#] 멀티 업로드  (0) 2009.10.08
vb.net 소스코드를 c# 소스코드로(그 반대 역시) 변환  (0) 2009.10.07