레이블이 함수인 게시물을 표시합니다. 모든 게시물 표시
레이블이 함수인 게시물을 표시합니다. 모든 게시물 표시

2011년 8월 3일 수요일

대한민국 주민번호 검증 코드

주민번호를 파라미터와 함께 넘겨주면 주민번호를 검사하여 리턴해 주는 함수입니다.
이 함수도 인터넷 어딘가에서 구한 것인데...
필요할 때 유용하게 잘 사용하고 있습니다. ^^

bool IsAvailableRRN(string RRN)
{
    //공백 제거
    RRN = RRN.Replace(" ", "");
    //문자 '-' 제거
    RRN = RRN.Replace("-", "");
    //주민등록번호가 13자리인가?
    if (RRN.Length != 13)
    {
        return false;
    }

    int sum = 0;
    for (int i = 0; i < RRN.Length - 1; i++)
    {
        char c = RRN[i];
        //숫자로 이루어져 있는가?
        if (!char.IsNumber(c))
        {
            return false;
        }
        else
        {
            if (i < RRN.Length)
            {
                //지정된 숫자로 각 자리를 나눈 후 더한다.
                sum += int.Parse(c.ToString()) * ((i % 8) + 2);
            }
        }
    }
    // 검증코드와 결과 값이 같은가?
    if (!((((11 - (sum % 11)) % 10).ToString()) == ((RRN[RRN.Length - 1]).ToString())))
    {
        return false;
    }
    return true;
}