주민번호를 파라미터와 함께 넘겨주면 주민번호를 검사하여 리턴해 주는 함수입니다.
이 함수도 인터넷 어딘가에서 구한 것인데...
필요할 때 유용하게 잘 사용하고 있습니다. ^^
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;
}
댓글 없음:
댓글 쓰기