어디서 복사해논건지...-0-;;;;;
뭐 쓸때마다 만들기도 찾기도 귀찮고......해서 올려두는,......
=========================================
/*****
* 사업자등록번호 체크
* return : boolean
* ex) 111-11-11111
*****/
function check_worknum(resno) {
fmt = /^\\d{3}-\\d{2}-\\d{5}$/;
if(!fmt.test(resno)) return false;
// Check Sum 코드의 유효성 검사
buf = new Array(10);
for (i = 0; i < 3; i++) buf[i] = parseInt(resno.charAt(i));
for (i = 3; i < 5; i++) buf[i] = parseInt(resno.charAt(i + 1));
for (i = 5; i < 10; i++) buf[i] = parseInt(resno.charAt(i + 2));
multipliers = [1,3,7,1,3,7,1,3,5,1];
for (i = 0, sum = 0; i < 10; i++){
if(i==0 || i==9){
sum += (buf[i] * multipliers[i]);
}else{
sum += (buf[i] * multipliers[i]%10);
if(i==8) sum += Math.floor(buf[i] * multipliers[i] / 10);
}
}
if (sum % 10 != 0) return false;
return true;
}
/*****
* 주민등록번호 체크
* return : boolean
* ex) 111111-1111111
* TODO : 주민등록번호 뒷자리 첫번째 자리에 7,8 로 시작하는 주민등록 번호가 있다. 이것은 귀화한 사람에게 발급되는 번호라고 한다
* 할 수 있다면 체크했으면 좋겠는데 아직은 위의 번호를 가진 사람도 보지 못했거니와 유효성도 같은 방식으로 해야 하는지 알지 못하겠다.
*****/
function check_regnum(resno){
// 주민번호의 형태와 7번째 자리(성별) 유효성 검사
fmt = /^\\d{6}-[1234]\\d{6}$/;
if(!fmt.test(resno)) return false;
// 날짜 유효성 검사
birthYear = (resno.charAt(7) <= \"2\") ? \"19\" : \"20\";
birthYear += resno.substr(0, 2);
birthMonth = resno.substr(2, 2) - 1;
birthDate = resno.substr(4, 2);
birth = new Date(birthYear, birthMonth, birthDate);
if(birth.getYear() % 100 != resno.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(resno.charAt(i));
for (i = 6; i < 13; i++) buf[i] = parseInt(resno.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;
}
/*****
* 법인번호 체크
* 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;
}