Language/JS,JQuery
[JS/JQuery] 비밀번호 생성규칙 검사 함수
yjkim_97
2021. 11. 14. 18:22
// 비밀번호 유효성 체크
// 특수문자+영문+숫자 혼합
function chkPW(id, pw){
if(pw == null || pw == undefined)
{
kbnAlert("비밀번호를 입력해 주시기 바랍니다.");
return false;
}
// !/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/.test(pw)
var num = pw.search(/[0-9]/g);
var eng = pw.search(/[a-z]/ig);
var spe = pw.search(/[`~!@@#$%^&*|₩₩₩'₩";:₩/?]/gi);
// 영문, 숫자, 특수문자 혼합, 8자 이상
if(num < 0 || eng < 0 || spe < 0 || pw.length < 8 || pw.length > 11){
kbnAlert("비밀번호는 영문,숫자,특수문자를 혼합한 8자리 이상이어야 합니다.");
return false;
}
// 공백,ID 미포함
else if((pw.search(/\s/) != -1) || (pw.indexOf(id) != -1)){
kbnAlert("비밀번호에 공백,ID를 포함할 수 없습니다.");
return false;
}
// 같은 문자/숫자 4번이상 반복 안됨
else if(/(\w)\1\1\1/.test(pw))
{
kbnAlert("비밀번호에 같은 문자/숫자를 4번 이상 포함할 수 없습니다.");
return false;
}
// 연속된 숫자 4번이상 안됨
else if(/(0123)|(1234)|(2345)|(3456)|(4567)|(5678)|(6789)|(7890)/.test(pw)){
kbnAlert('비밀번호에 4회이상의 연속된 숫자를 사용할 수 없습니다.');
return false;
}
return true;
}