[JS] 주민번호 체크, 영어 숫자만 사용 체크

function isSSN(ssn){
//주민등록번호 체크
if( ssn.length == 13 ) {
var A = ssn.charAt(0);
var B = ssn.charAt(1);
var C = ssn.charAt(2);
var D = ssn.charAt(3);
var E = ssn.charAt(4);
var F = ssn.charAt(5);
var G = ssn.charAt(6);
var H = ssn.charAt(7);
var I = ssn.charAt(8);
var J = ssn.charAt(9);
var K = ssn.charAt(10);
var L = ssn.charAt(11);
var Osub = ssn.charAt(12);

var SUMM = A*2 + B*3 + C*4 + D*5+ E*6+ F*7+G*8+H*9+I*2+J*3+K*4+L*5;
var N = SUMM % 11;
var Modvalue = 11 - N;
var LapointVal = Modvalue % 10 ;

if ( Osub == LapointVal ) {
return true;
} else {
return false;
}
}
return false;
}



//--------------------- 영어와 숫자만,
//poi1 == 0이면 숫자만, 1이면 영어+숫자, 2(전화번호용)이면 숫자+'-'
function ck_str(poi1,poi2)
{
// alert(poi1);
ck_word = "0123456789";
if(poi2 == 1)
{
ck_word += "abcdefghijklmnopqrstuvwxyz";
ck_word += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //체크에 사용할 글자 , 영어(대/소)+숫자
}
if(poi2 == 2)
{
ck_word += "-"; // 전화번호용
}
poi1_length = poi1.length;
for(i = 0 ; i < poi1_length ; i ++)
{
ck_result = ck_word.indexOf(poi1.charAt(i));
if(ck_result < 0 )
{
return false;
}
}
return true;

}
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📅 달력형