YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > Javascript
검색
멤버이름    오토
비밀번호 
 

이메일, 회원아이디, 주민등록번호 체크

페이지 정보

작성자 MintState 댓글 0건 조회 14,223회 작성일 08-11-03 12:12

본문

이메일, 회원아이디, 주민등록번호 체크
 
많이 공개가 되어있지만...초보님들을 위해서 정리합니다.

//이메일 체크 함수 
function CheckEmail(str) 
{ 
              var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i 
              if (filter.test(str)) { return true; } 
              else { return false; } 
} 

//회원ID 체크하는 함수 
function CheckID(str) 
{ 
              for (i=0; i <= str.length -1 ; i++) 
              { 
                            ch = str.substring(i,i+1); 
                            if ((ch>='0' && ch<='9') || (ch>='a'  && ch<='z') ||(ch>='A'  && ch<='Z')) { return true; } 
                            else { return false; } 
              } 
} 

// Object에 value가 숫자로만 되어있는지 체크한다. 
function isDigit(obj) 
{ 
              inputStr = obj.value; 
              for( var i = 0 ; i < inputStr.length ; i++ ) 
              { 
                            var oneChar = inputStr.charAt(i) 
                            if (oneChar < '0' || oneChar > '9') { return false; } 
              } 
              return true; 
} 


//주민등록번호 체크 
function CheckSSN(jumin1,jumin2) 
{
	var today = new Date();
	var chkYear1 = today.getYear();
	var chkYear2 = 0;

	if (chkYear1 < 2000) chkYear1 += 1900;

	var chk = 0;
	var chk2 = 0;
	var chk3 = 0;
	var yy = jumin1.substring(0,2);
	var mm = jumin1.substring(2,4);
	var dd = jumin1.substring(4,6);
	var chkSex = jumin2.substring(0,1); 

	if ((jumin1.length != 6) || (mm<1 || mm>12 || dd<1 || dd>31 )) return false;
	if ((chkSex != 1 && chkSex !=2 && chkSex !=3 && chkSex !=4) || (jumin2.length != 7)) return false;

	chkYear2 = parseInt(yy,10);

	if (chkSex <=2) chkYear2 += 1900; else chkYear2 += 2000;

	for (var i = 0; i <=5 ; i++) chk = chk + ((i%8+2) * parseInt(jumin1.substring(i,i+1)));
	for (var i = 6; i <=11 ; i++) chk = chk + ((i%8+2) * parseInt(jumin2.substring(i-6,i-5)));

	chk = 11 - (chk %11);
	chk = chk % 10;

	if (chk != jumin2.substring(6,7)) return false;  

	return true;
}

//사업자번호 체크용 함수
function chk_vend(strNumb) 
{
	sumMod  =   0;
	sumMod  +=  parseInt(strNumb.substring(0,1));
	sumMod  +=  parseInt(strNumb.substring(1,2)) * 3 % 10;
	sumMod  +=  parseInt(strNumb.substring(2,3)) * 7 % 10;
	sumMod  +=  parseInt(strNumb.substring(3,4)) * 1 % 10;
	sumMod  +=  parseInt(strNumb.substring(4,5)) * 3 % 10;
	sumMod  +=  parseInt(strNumb.substring(5,6)) * 7 % 10;
	sumMod  +=  parseInt(strNumb.substring(6,7)) * 1 % 10;
	sumMod  +=  parseInt(strNumb.substring(7,8)) * 3 % 10;
	sumMod  +=  Math.floor(parseInt(strNumb.substring(8,9)) * 5 / 10);
	sumMod  +=  parseInt(strNumb.substring(8,9)) * 5 % 10;
	sumMod  +=  parseInt(strNumb.substring(9,10));

	if (sumMod % 10  !=  0) 
	{
		return false;
	}

	return true;
}


//주민등록번호 체크 

              var tmp = 0 
              var yy = frm.regnum1.value.substring(0,2) 
              var mm = frm.regnum1.value.substring(2,4) 
              var dd = frm.regnum1.value.substring(4,6) 
              var sex = frm.regnum2.value.substring(0,1) 
              if ((frm.regnum1.value.length != 6 ) || ( mm < 1 || mm > 16 || dd < 1) ) 
              { 
                            alert('잘못된 주민등록번호입니다.'); 
                            frm.regnum1.value='' 
                            frm.regnum1.focus(); 
                            return; 
              } 
              if ((sex != 1 && sex !=2 && sex !=3 && sex !=4)|| (frm.regnum2.value.length != 7 )) 
              { 
                            alert ('잘못된 주민등록번호입니다.'); 
                            frm.regnum2.value='' 
                            frm.regnum2.focus(); 
                            return; 
              } 
              for (var i = 0; i <=5 ; i++) 
                            tmp = tmp + ((i%8+2) * parseInt(frm.regnum1.value.substring(i,i+1))) 

              for (var i = 6; i <=11 ; i++) 
                            tmp = tmp + ((i%8+2) * parseInt(frm.regnum2.value.substring(i-6,i-5))) 

              tmp = 11 - (tmp %11) 
              tmp = tmp % 10 

              if (tmp != frm.regnum2.value.substring(6,7)) 
              { 
                            alert ("잘못된 주민등록번호입니다."); 
                            frm.regnum1.value='' 
                            frm.regnum2.value='' 
                            frm.regnum1.focus(); 
                            return; 
              } 

댓글목록

등록된 댓글이 없습니다.

Total 179건 8 페이지
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2024, YesYo.com MintState. ™