본문 바로가기

Story/Javascript

법인번호 체크

반응형

/*****
  * 법인번호 체크
  * return : boolean
  * ex) 111111-1111111
  *****/
 function check_corpnum(resno){
  fmt = /^d{6}-d{7}$/;
  if(!fmt.test(resno)) return false;
  // Check Sum 코드의 유효성 검사
  buf = new Array(13);
  for (i = 0; i < 6; i++) buf[i] = parseInt(resno.charAt(i));
  for (i = 6; i < 13; i++) buf[i] = parseInt(resno.charAt(i + 1));
 
  multipliers = [1,2,1,2,1,2,1,2,1,2,1,2];
  for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
  if(10 - sum.toString().substring(sum.toString().length*1 - 1,sum.toString().length*1)*1 != buf[12]) return false;
 
  return true;
 }
반응형