비밀번호, 패스워드 생성규칙 체크
페이지 정보
작성자 최고관리자 작성일 21-02-10 17:35 조회 7,371 댓글 0본문
<script>
//문자체크
function passwdCheckChar(obj)
{
var ret;
var j = 0;
var alphabetChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 0; i < obj.length; i++) {
var substr = obj.substring(i,i+1);
if (alphabetChar.indexOf(substr) < 0) {
//영문자가 아닌값
}else{
j = j + 1; //영문자
}
}
if (j == obj.length) {
return false; //영문자만 있는경우
}else{
return true; //영문자와 다른 문자가 있는경우
}
}
//숫자체크
function passwdCheckNum(obj){
var ret;
for (var i = 0; i < obj.length; i++) {
ret = obj.charCodeAt(i);
if (!((ret > 47) && (ret < 58))) {
return true;
}
}
return false;
}
function chkPassword(pwd)
{
var chnum = 0;
var obj = pwd.value;
//비밀번호는 영문자, 숫자, 특수문자로만 구성, 6 ~ 15 자리만 허용
var pass_char = /[^a-zA-Z0-9!\"#$%&'()*+,-./:;<>=?@[]\\^_`{|}~]/;
if (pass_char.test(obj) || obj.length < 6 || obj.length > 15)
{
document.getElementById("paswdview1").style.display = "";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "none";
chnum = 1;
}
//연속 4개 같은 것 생성금지
for (var i=0; i<=obj.length-4; i++)
{
if (obj.charAt(i)==obj.charAt(i+1) && obj.charAt(i)==obj.charAt(i+2) && obj.charAt(i)==obj.charAt(i+3))
{
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "none";
chnum = 2;
break;
return false;
}
}
//연속되게 이루어진 패스워드 생성 금지
strNum = "01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var tmpStr;
for(var i=0; i<=strNum.length-4; i++){
tmpStr=strNum.substring(i,i+4);
if (obj.indexOf(tmpStr)>=0){
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "none";
chnum = 3;
}
}
//영문자, 숫자혼합
if (obj.length >= 6 && !(passwdCheckNum(obj) && passwdCheckChar(obj)))
{
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "";
document.getElementById("paswdview").style.display = "none";
chnum = 4;
}
if(chnum == 0)
{
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "";
//비밀번호 가능
document.getElementById("passwdchYn").value = "Y";
}
}
</script>
<!--
<input type="password" name="passwd" onkeyup="chkPassword(this);"><br>
<input type="hidden" name="passwdchYn" value="N">
<div>
<div style="display:none;" id="paswdview1">비밀번호는 영문자, 숫자, 특수문자의 6 ~ 15 자리만 가능합니다.</div>
<div style="display:none;" id="paswdview2">동일한 문자나 숫자로 연속되는 비밀번호는 사용하실 수 없습니다.</div>
<div style="display:none;" id="paswdview3">연속 된 숫자나 문자로 이루어진 비밀번호는 사용하실 수 없습니다.</div>
<div style="display:none;" id="paswdview4">비밀번호는 영문자와 숫자의 혼합이어야 합니다.</div>
<div style="display:none;" id="paswdview">사용가능한 비밀번호입니다.</div>
</div>
//-->
//문자체크
function passwdCheckChar(obj)
{
var ret;
var j = 0;
var alphabetChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 0; i < obj.length; i++) {
var substr = obj.substring(i,i+1);
if (alphabetChar.indexOf(substr) < 0) {
//영문자가 아닌값
}else{
j = j + 1; //영문자
}
}
if (j == obj.length) {
return false; //영문자만 있는경우
}else{
return true; //영문자와 다른 문자가 있는경우
}
}
//숫자체크
function passwdCheckNum(obj){
var ret;
for (var i = 0; i < obj.length; i++) {
ret = obj.charCodeAt(i);
if (!((ret > 47) && (ret < 58))) {
return true;
}
}
return false;
}
function chkPassword(pwd)
{
var chnum = 0;
var obj = pwd.value;
//비밀번호는 영문자, 숫자, 특수문자로만 구성, 6 ~ 15 자리만 허용
var pass_char = /[^a-zA-Z0-9!\"#$%&'()*+,-./:;<>=?@[]\\^_`{|}~]/;
if (pass_char.test(obj) || obj.length < 6 || obj.length > 15)
{
document.getElementById("paswdview1").style.display = "";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "none";
chnum = 1;
}
//연속 4개 같은 것 생성금지
for (var i=0; i<=obj.length-4; i++)
{
if (obj.charAt(i)==obj.charAt(i+1) && obj.charAt(i)==obj.charAt(i+2) && obj.charAt(i)==obj.charAt(i+3))
{
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "none";
chnum = 2;
break;
return false;
}
}
//연속되게 이루어진 패스워드 생성 금지
strNum = "01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var tmpStr;
for(var i=0; i<=strNum.length-4; i++){
tmpStr=strNum.substring(i,i+4);
if (obj.indexOf(tmpStr)>=0){
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "none";
chnum = 3;
}
}
//영문자, 숫자혼합
if (obj.length >= 6 && !(passwdCheckNum(obj) && passwdCheckChar(obj)))
{
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "";
document.getElementById("paswdview").style.display = "none";
chnum = 4;
}
if(chnum == 0)
{
document.getElementById("paswdview1").style.display = "none";
document.getElementById("paswdview2").style.display = "none";
document.getElementById("paswdview3").style.display = "none";
document.getElementById("paswdview4").style.display = "none";
document.getElementById("paswdview").style.display = "";
//비밀번호 가능
document.getElementById("passwdchYn").value = "Y";
}
}
</script>
<!--
<input type="password" name="passwd" onkeyup="chkPassword(this);"><br>
<input type="hidden" name="passwdchYn" value="N">
<div>
<div style="display:none;" id="paswdview1">비밀번호는 영문자, 숫자, 특수문자의 6 ~ 15 자리만 가능합니다.</div>
<div style="display:none;" id="paswdview2">동일한 문자나 숫자로 연속되는 비밀번호는 사용하실 수 없습니다.</div>
<div style="display:none;" id="paswdview3">연속 된 숫자나 문자로 이루어진 비밀번호는 사용하실 수 없습니다.</div>
<div style="display:none;" id="paswdview4">비밀번호는 영문자와 숫자의 혼합이어야 합니다.</div>
<div style="display:none;" id="paswdview">사용가능한 비밀번호입니다.</div>
</div>
//-->
댓글목록 0
등록된 댓글이 없습니다.