달력

10

« 2018/10 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

'비밀번호체크'에 해당되는 글 1

  1. 2011.01.25 비밀번호 8자리 이상, 영문+숫자+특문조합 AJAX로 확인.
갑자기 php로 개발하게 되버려서 회원가입시 비밀번호 체크 부분을 구현해둔 것 정리.

ajax 처리를 하는 JS 부분

function requestPassword(){

if(document.regForm.password.value == document.regForm.password1.value){
request = getXMLHttpRequest();
request.onreadystatechange=responsePassword;
var url = "./action/checkPassword.php";
var param = "password=" + document.regForm.password.value + "&password1=" +document.regForm.password1.value;
//alert(param);
request.open("POST",url,true);
request.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");
request.setRequestHeader("Cache-Control","no-cache, must-revalidate");
request.setRequestHeader("Pragma","no-cache");
request.send(param);
}else{
document.all.passMsg.innerText="  비밀번호가 일치하지 않습니다.";
document.regForm.password.value="";
document.regForm.password1.value="";
document.regForm.password.focus();
}
}


function responsePassword(){
if(request.readyState == 4){
if(request.status == 200){
var text = request.responseText;
var msg = null;
if(text=="0"){
msg = "  비밀번호는 영문/숫자/특문 포함 8자리 이상입니다.";
document.regForm.password.value="";
document.regForm.password1.value="";
document.regForm.password.focus();
}
else{
msg = "  사용가능한 비밀번호 입니다.";
}
document.all.passMsg.innerText = msg;
}
else{
alert("실패");
}
}
}

그 다음 간단한 정규식으로 체크한 ./action/checkPassword.php 부분

<?
$password = $_POST["password"];
$password1 = $_POST["password1"];
if(preg_match('/[0-9]/',$password) && preg_match('/[a-zA-Z]/',$password) &&                                              preg_match('/[^0-9a-zA-Z]/',$password) && strlen($password)>=8){
echo "1";
}
else{
echo "0";
}
?>


Posted by 유쾌한순례자