'주민등록번호 검사'에 해당되는 글 1건

  1. 2008.03.02 은근히 귀찮은 주민등록번호 체크

function PersonalNo_Check(PersonalNo)
{
 // 주민번호의 형태와 7번째 자리(성별) 유효성 검사
 fmt = /^\d{6}-[1234]\d{6}$/;
 if (!fmt.test(PersonalNo)) {
  return false;
 }

 // 날짜 유효성 검사
 birthYear = (PersonalNo.charAt(7) <= "2") ? "19" : "20";
 birthYear += PersonalNo.substr(0, 2);
 birthMonth = PersonalNo.substr(2, 2) - 1;
 birthDate = PersonalNo.substr(4, 2);
 birth = new Date(birthYear, birthMonth, birthDate);

 if ( birth.getYear() % 100 != PersonalNo.substr(0, 2) ||
  birth.getMonth() != birthMonth ||
  birth.getDate() != birthDate) {
  return false;
 }

 // Check Sum 코드의 유효성 검사
 buf = new Array(13);
 for (i = 0; i < 6; i++) buf[i] = parseInt(PersonalNo.charAt(i));
 for (i = 6; i < 13; i++) buf[i] = parseInt(PersonalNo.charAt(i + 1));

 multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
 for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);

 if ((11 - (sum % 11)) % 10 != buf[12]) {
  return false;
 }
 return true;
}//PersonalNo_Check(PersonalNo)



호출은 "-" 하이픈 까지 모두 전송

Posted by 철냄비짱
,