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;
}

댓글 없음:

댓글 쓰기