javascript 정규식을 이용해서 영문, 숫자 혼용만 사용하는 비밀번호 확인
//=== 영문, 숫자 혼용 확인
// 혼용이면 true, 아니면 false
function rtn_engnum_mix_chk(str)
{
var chk_num = str.search(/[0-9]/g);
var chk_eng = str.search(/[a-z]/ig);
if(chk_num < 0 || chk_eng < 0)
{
return false;
}
return true;
}
//=== 영문, 숫자 확인
// 영문 또는 숫자이면 true, 아니면 false
function rtn_engnum_chk(str)
{
for( var i = 0; i <= str.length -1 ; i++ )
{
if('a' <= str.charAt(i) && str.charAt(i) <= 'z' || str.charAt(i) >= '0' && str.charAt(i) <= '9'){}
else
{
return false;
}
}
return true;
}
// 확인 : 비밀번호
function passwd_chk(passwd1, passwd2)
{
passwd1 = passwd1.trim().toLowerCase(); // javascript를 이용해서 trim() 구현하기 바로가기
passwd2 = passwd2.trim().toLowerCase();
var str = passwd1;
if(passwd1.length < 6 || passwd1.length > 12)
{
alert ("비밀번호는 6~12자의 영문 및 숫자혼용만 사용할 수 있습니다.");
return false;
}
else if(passwd1 != passwd2)
{
alert ("비밀번호와 비밀번호 확인이 일치하지 않습니다.");
return false;
}
if(!rtn_engnum_mix_chk(str))
{
alert("비밀번호는 숫자와 영문자를 혼용해야 합니다.");
return false;
}
if(!rtn_engnum_chk(str))
{
alert ("비밀번호는 영문 및 숫자로 구성되어야 합니다");
return false;
}
return true;
}
// 비밀번호변경
function modify_pw_chk(f)
{
f.passwd.value = f.passwd.value.trim();
f.passwd1.value = f.passwd1.value.trim();
f.passwd2.value = f.passwd2.value.trim();
if(f.passwd.value == '')
{
alert("현재 비밀번호를 입력해주세요");
f.passwd.focus();
return false;
}
if(f.passwd.value.length < 6 || f.passwd.value.length > 12)
{
alert ("비밀번호는 6~12자의 영문 및 숫자혼용만 사용할 수 있습니다.");
f.passwd.focus();
return false;
}
if(!rtn_engnum_mix_chk(f.passwd.value))
{
alert("비밀번호는 숫자와 영문자를 혼용해야 합니다.");
f.passwd.focus();
return false;
}
if(!rtn_engnum_chk(f.passwd.value))
{
alert ("비밀번호는 영문 및 숫자로 구성되어야 합니다");
f.passwd.focus();
return false;
}
if(f.passwd1.value == '')
{
alert("새로운 비밀번호를 입력해주세요");
f.passwd1.focus();
return false;
}
else if(f.passwd2.value == '')
{
alert("새로운 비밀번호를 한번 더 입력해주세요");
f.passwd2.focus();
return false;
}
else if(f.passwd1.value != '' && !passwd_chk(f.passwd1.value, f.passwd2.value))
{
return false;
}
f.submit();
}
사용예>
<form name="f" method="post">
<input type="password" id="passwd" name="passwd" maxlength="12" style="ime-mode:disabled;" title="6~12자의 영문 및 숫자혼용" />
<input type="password" id="passwd2" name="passwd2" maxlength="12" style="ime-mode:disabled;" title="6~12자의 영문 및 숫자혼용" />
<input type="password" id="passwd3" name="passwd3" maxlength="12" style="ime-mode:disabled;" title="6~12자의 영문 및 숫자혼용" />
<a href="javascript:;" onclick="modify_pw_chk(document.f)">비밀번호변경</a>
</form>