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;
}

 

Ex)

if (!CheckSSN('123456','1234567')) {
 alert("주민번호가 형식에 맞지 않습니다.");
 return;

 

Posted by 탁이98
,

// str - 체크할 문자열, allowStr - 허용문자집합

 

function isAllowStr(str, allowStr) {   
   var i;
   var ch;

   for (i=0;i<str.length;i++) {
       ch = str.charAt(i);

       if (allowStr.indexOf(ch) < 0) {
          return false;
       }
   }

   return true;
}

 
Posted by 탁이98
,

자바스크립트로된 문자열 사이즈 체크 합수


function getTextByte(text) {
   str = new String(text);
   var strLen = str.length;
   var strByte = 0;
   for (var i=0; i<strLen; i++) {
       tmp = new String(str.charCodeAt(i));
       strByte++;
       if (tmp.length > 3) {
           strByte++;
       }
   }
   return strByte;
}

Ex)

if(getTextByte("이 글자는 몇바이트 일까요?")>=20) {

     alert("문자열의 길이가 너무 깁니다.");

     return;

}

 

Posted by 탁이98
,