// ##################################################################################
// 비밀번호의 휴효성을 체크한다.
// 호출 방법 : getCehckPassWord(아이디오브젝트, 비밀번호 오브젝트, 비밀번호 확인오브젝트)
// ##################################################################################
function getCehckPassWord(ObjUserID, ObjUserPassWord, objUserPassWordRe)
{
if(ObjUserPassWord.value != objUserPassWordRe.value)
{
alert("입력하신 비밀번호와 비밀번호확인이 일치하지 않습니다");
ObjUserPassWord.value = "";
objUserPassWordRe.value = "";
ObjUserPassWord.focus();
return false;
}
if(ObjUserPassWord.value.length < 8)
{
alert("비밀번호는 문자, 숫자, 특수문자의 조합으로 8~16자리로 입력해주세요.");
ObjUserPassWord.value = "";
objUserPassWordRe.value = "";
ObjUserPassWord.focus();
return false;
}
if(!ObjUserPassWord.value.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/))
{
alert("비밀번호는 문자, 숫자, 특수문자의 조합으로 8~16자리로 입력해주세요.");
ObjUserPassWord.value = "";
objUserPassWordRe.value = "";
ObjUserPassWord.focus();
return false;
}
if(ObjUserID.value.indexOf(ObjUserPassWord) > -1)
{
alert("비밀번호에 아이디를 사용할 수 없습니다.");
ObjUserPassWord.value = "";
objUserPassWordRe.value = "";
ObjUserPassWord.focus();
return false;
}
var SamePass_0 = 0; //동일문자 카운트
var SamePass_1 = 0; //연속성(+) 카운드
var SamePass_2 = 0; //연속성(-) 카운드
var chr_pass_0;
var chr_pass_1;
for(var i=0; i < ObjUserPassWord.value.length; i++)
{
chr_pass_0 = ObjUserPassWord.value.charAt(i);
chr_pass_1 = ObjUserPassWord.value.charAt(i+1);
//동일문자 카운트
if(chr_pass_0 == chr_pass_1)
{
SamePass_0 = SamePass_0 + 1
}
//연속성(+) 카운드
if(chr_pass_0.charCodeAt(0) - chr_pass_1.charCodeAt(0) == 1)
{
SamePass_1 = SamePass_1 + 1
}
//연속성(-) 카운드
if(chr_pass_0.charCodeAt(0) - chr_pass_1.charCodeAt(0) == -1)
{
SamePass_2 = SamePass_2 + 1
}
}
if(SamePass_0 > 1)
{
alert("동일문자를 3번 이상 사용할 수 없습니다.");
ObjUserPassWord.value = "";
objUserPassWordRe.value = "";
ObjUserPassWord.focus();
return false;
}
if(SamePass_1 > 1 || SamePass_2 > 1 )
{
alert("연속된 문자열(123 또는 321, abc, cba 등)을\n 3자 이상 사용 할 수 없습니다.");
ObjUserPassWord.value = "";
objUserPassWordRe.value = "";
ObjUserPassWord.focus();
return false;
}
return true;
}
'개발팁( Javascript )' 카테고리의 다른 글
jsonp에 대한 간단한 사용법 (0) | 2014.03.21 |
---|---|
SNS연결 스크립트 (0) | 2013.07.15 |
메일 주소 체크 정규 표현식 (0) | 2013.07.09 |
ID의 유효성을 체크한다. (0) | 2013.07.02 |
오픈윈도우를 띄울때 (0) | 2013.07.02 |