자바스크립트 비밀번호
영문자 대소문자 포함등등을 체크하는 스크립트.
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 |
---|