JAVASCRIPT/JQUERY/AJAX

[javascript-jQuery] 비밀번호 유효성 체크2

최고관리자
2018.01.09 14:28 6,389 0

본문

function passwordCheck() {


/*var userID = document.getElementById("userID").value;

var password = document.getElementById("password").value;

var newPassword1 = document.getElementById("newPassword1").value;

var newPassword2 = document.getElementById("newPassword2").value;*/

var userID = $(".mem_id").val();

var newPassword1 = $(".mem_pwd").val();

var newPassword2 = $(".rmem_pwd").val();


// 길이

/*

if(!/^[a-zA-Z0-9!@#$%^&*()?_~]{6,20}$/.test(newPassword1)) { 

//alert("비밀번호는 영문, 숫자, 특수문자의 조합으로 6~20자리를 사용해야 합니다."); 

$(".pwd_chk_msg").html("비밀번호는 영문, 숫자, 특수문자(!@#$%^&*()?_~)의 조합으로 6~20자리를 사용해야 합니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}

*/

//최소 8 자, 최소 하나의 문자 및 하나의 숫자

//"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

//최소 8 자, 최소 하나의 문자, 하나의 숫자 및 하나의 특수 문자

//"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$"

//최소 8 자, 대문자 하나 이상, 소문자 하나 및 숫자 하나

//"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"

//최소 8 자, 대문자 하나 이상, 소문자 하나, 숫자 하나 및 특수 문자 하나 이상

//"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"


//최소 8 자 및 최대 10 자, 대문자 하나 이상, 소문자 하나, 숫자 하나 및 특수 문자 하나 이상

if(!/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,20}/.test(newPassword1)) { 

//alert("비밀번호는 영문, 숫자, 특수문자의 조합으로 6~20자리를 사용해야 합니다."); 

$(".pwd_chk_msg").html("비밀번호는 영문 대소문자, 숫자, 특수문자(!@#$%^&*()?_~) 하나 이상의 조합으로 6~20자리를 사용해야 합니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}


// 영문, 숫자, 특수문자 1종 이상 혼용

/*

var chk1 = 0;

var chk2 = 0;

var chk3 = 0;

var chk4 = 0;

if(newPassword1.search(/[0-9]/g) != -1 ) chk1 ++;

if(newPassword1.search(/[a-z]/ig)  != -1 ) chk2 ++;

if(newPassword1.search(/[A-Z]/ig)  != -1 ) chk3 ++;

if(newPassword1.search(/[!@#$%^&*()?_~]/g)  != -1  ) chk4 ++;

if(chk1 < 1)

//alert("비밀번호는 숫자 하나 이상을 혼용하여야 합니다.");

$(".pwd_chk_msg").html("비밀번호는 숫자 하나 이상을 혼용하여야 합니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}

if(chk2 < 1)

//alert("비밀번호는 영문 소문자 하나 이상을 혼용하여야 합니다."); 

$(".pwd_chk_msg").html("비밀번호는 영문 소문자 하나 이상을 혼용하여야 합니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}

if(chk3 < 1)

//alert("비밀번호는 영문 대문자 하나 이상을 혼용하여야 합니다."); 

$(".pwd_chk_msg").html("비밀번호는 영문 대문자 하나 이상을 혼용하여야 합니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}

if(chk4 < 1)

//alert("비밀번호는 특수문자 하나 이상을 혼용하여야 합니다."); 

$(".pwd_chk_msg").html("비밀번호는 특수문자 하나 이상을 혼용하여야 합니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}

*/


// 동일한 문자/숫자 4이상, 연속된 문자

if(/(\w)\1\1\1/.test(newPassword1) || isContinuedValue(newPassword1)) {

//alert("비밀번호에 4자 이상의 연속 또는 반복 문자 및 숫자를 사용하실 수 없습니다.");

$(".pwd_chk_msg").html("비밀번호에 4자 이상의 연속 또는 반복 문자 및 숫자를 사용하실 수 없습니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}


// 아이디 포함 여부

if(newPassword1.search(userID)>-1) {

//alert("ID가 포함된 비밀번호는 사용하실 수 없습니다. ");

$(".pwd_chk_msg").html("ID가 포함된 비밀번호는 사용하실 수 없습니다. ");

$(".pwd_chk_msg").css({color:"red"});

return false;

}


// 재입력 일치 여부

if (newPassword1 != newPassword2) {

//alert("입력한 두 개의 비밀번호가 서로 일치하지 않습니다.");

$(".pwd_chk_msg").html("입력한 두 개의 비밀번호가 서로 일치하지 않습니다. \n"+newPassword1+" : "+newPassword2);

$(".pwd_chk_msg").css({color:"red"});

return false;

} else {

$(".pwd_chk_msg").html("비밀번호 체크 완료.");

$(".pwd_chk_msg").css({color:"blue"});

}


$(".pwd_chk").val("Y");


// 기존 비밀번호와 새 비밀번호 일치 여부

/*

if (password == newPassword2) {

alert("기존 비밀본호와 새 비밀번호가 일치합니다.");

return false;

}

*/

}


function isContinuedValue(value) {

console.log("value = " + value);

var intCnt1 = 0;

var intCnt2 = 0;

var temp0 = "";

var temp1 = "";

var temp2 = "";

var temp3 = "";


for (var i = 0; i < value.length-3; i++) {

console.log("=========================");

temp0 = value.charAt(i);

temp1 = value.charAt(i + 1);

temp2 = value.charAt(i + 2);

temp3 = value.charAt(i + 3);


console.log(temp0)

console.log(temp1)

console.log(temp2)

console.log(temp3)


if (temp0.charCodeAt(0) - temp1.charCodeAt(0) == 1

&& temp1.charCodeAt(0) - temp2.charCodeAt(0) == 1

&& temp2.charCodeAt(0) - temp3.charCodeAt(0) == 1) {

intCnt1 = intCnt1 + 1;

}


if (temp0.charCodeAt(0) - temp1.charCodeAt(0) == -1

&& temp1.charCodeAt(0) - temp2.charCodeAt(0) == -1

&& temp2.charCodeAt(0) - temp3.charCodeAt(0) == -1) {

intCnt2 = intCnt2 + 1;

}

console.log("=========================");

}


console.log(intCnt1 > 0 || intCnt2 > 0);

return (intCnt1 > 0 || intCnt2 > 0);

}

댓글목록 0

등록된 댓글이 없습니다.