프로그램/javascript

비밀번호 관련

잡식성초보 2015. 3. 25. 15:40

자바스크립트 비밀번호

영문자 대소문자 포함등등을 체크하는 스크립트.


function checkPassword() {

var strNew_Pwd = document.insertForm.passwd1.value;

if ( <%=loginpwd.getPASSLENGTH()%> != null ) {

if ( strNew_Pwd.length < parseInt(<%=loginpwd.getPASSLENGTH()%>) ) {

alert("패스워드는 영문대소문자, 숫자, 특수문자를 최소한 하나씩 포함하여 8자리 이상 20자리 까지 입력 하세요.");

return false;

}

}

if ( <%=loginpwd.getMINALPHA()%> != null ) {

var alpha = 0;

for ( var i=0; i<strNew_Pwd.length; i++ ) {

if ( ( strNew_Pwd.charCodeAt(i) >= 65 && strNew_Pwd.charCodeAt(i) <= 90 ) ||

( strNew_Pwd.charCodeAt(i) >= 97 && strNew_Pwd.charCodeAt(i) <= 122 ) ) {

alpha++;

}

}


if ( alpha < parseInt(<%=loginpwd.getMINALPHA()%>) ) {

alert("passwd는 최소한 알파벳문자(a-zA-Z)를" + parseInt(<%=loginpwd.getMINALPHA()%>) + "자리 이상 사용하여야 합니다.");

return false;

}

}


if ( <%=loginpwd.getMINNONALPHA()%> != null ) {

var nonalpha = 0;

for ( var i=0; i<strNew_Pwd.length; i++ ) {

if ( strNew_Pwd.charCodeAt(i) < 65 || strNew_Pwd.charCodeAt(i) > 122 ||

( strNew_Pwd.charCodeAt(i) > 90 && strNew_Pwd.charCodeAt(i) < 97 ) ) {

nonalpha++;

}

}


if ( nonalpha < parseInt(<%=loginpwd.getMINNONALPHA()%>) ) {

alert("passwd는 최소한 non-alpha 문자(숫자 또는 특수문자)를" +  (<%=loginpwd.getMINNONALPHA()%>) + "자리 이상 사용하여야 합니다.");

return false;

}

}

if ( <%=loginpwd.getMAXREPEATS()%> != null ) {

var repeats = 0;

var lastIdentCharCode = 0;

for ( var i=0; i<strNew_Pwd.length; i++ ) {

if ( lastIdentCharCode == strNew_Pwd.charCodeAt(i) ) {

repeats++;

if ( repeats > parseInt(<%=loginpwd.getMAXREPEATS()%>) ) {

alert("passwd는 연속된 문자를 최대" + parseInt(<%=loginpwd.getMAXREPEATS()%>) + "자리 초과하여 사용할 수 없습니다.");

return false;

break;

}

} else {

lastIdentCharCode = strNew_Pwd.charCodeAt(i);

repeats = 1;

}


}

}

if ( <%=loginpwd.getMINSPECIAL()%> != null ) {

var special = 0;

for ( var i=0; i<strNew_Pwd.length; i++ ) {

if ( strNew_Pwd.charCodeAt(i) <= 47 ||

( strNew_Pwd.charCodeAt(i) >= 58 && strNew_Pwd.charCodeAt(i) <= 64 ) ||

( strNew_Pwd.charCodeAt(i) >= 91 && strNew_Pwd.charCodeAt(i) <= 96 ) ||

strNew_Pwd.charCodeAt(i) >= 123 ) {


special++;

}

}

if ( special < parseInt(<%=loginpwd.getMINSPECIAL()%>) ) {

alert("passwd는 최소한 특수문자를" + parseInt(<%=loginpwd.getMINSPECIAL()%>) + "자리 이상 사용하여야 합니다.");

return false;

}

}

if ( <%=loginpwd.getMINDIGIT()%> != null ) {

var digit = 0;

for ( var i=0; i<strNew_Pwd.length; i++ ) {

if ( ( strNew_Pwd.charCodeAt(i) >= 48 && strNew_Pwd.charCodeAt(i) <= 57 ) ) {

digit++;

}

}

if ( digit < parseInt(<%=loginpwd.getMINDIGIT()%>) ) {

alert("passwd는 최소한 숫자를" + parseInt(<%=loginpwd.getMINDIGIT()%>) + "자리 이상 사용하여야 합니다.");

return false;

}


}


return true;

}

반응형

'프로그램 > javascript' 카테고리의 다른 글

클릭스 textbox에 값을 초기화 시키는것  (0) 2015.01.06