본문 바로가기

PHP 정규식 유효성검사 예제 (ID체크, 이메일체크등)

반응형

//id를 5~10자의 영문이나 숫자만 허용


if(!ereg("[[:alnum:]+]{5,10}",$id)) {
   echo "<script>
               alert('ID는 5~10자의 영문자나 숫자의 조합이어야 합니다!!');
      history.back(-1);
    </script>";
   exit();
}



// passwd를 4~8자의 영문이나 숫자만 허용


if(!ereg("[[:alnum:]+]{4,8}",$passwd)) {
   echo "<script>
               alert('비밀번호는 4~8자의 영문자나 숫자의 조합이어야 합니다!!');
      history.back(-1);
    </script>";
   exit();
}



//입력된 이메일의 유효성검사


if(!ereg("(^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*$)", $email)) {
   echo "<script>
               alert('이메일주소가 잘못돼었습니다\n\n정확하게 입력해 주세요!!');
      history.back(-1);
    </script>";
   exit();
}



// 입력된 홈페이지의 유효성 검사


if(ereg("([^[:space:]]+)", $homepage) && (!ereg("http://([0-9a-zA-Z./@~?&=_]+)", $homepage))  ) {
   echo "<script>
               alert('홈페이지 주소가 형식에 맞지 않습니다!!');
      history.back(-1);
    </script>";
   exit();
}



//name에 공백(space)이 있는건 허용하지 않음


if(!ereg("([^[:space:]]+)", $name) || ereg("([[:space:]]+)",$name)) {
   echo "<script>
               alert('이름에 공백이 존재합니다!!\n\n이름을 공백없이 입력하세요!!');
      history.back(-1);
    </script>";
   exit();
}



// name이 한글일 경우만 허용


for($i = 0; $i < strlen($name); $i++) {
   if(ord($name[$i]) <= 0x80) {
   echo "<script>
               alert('이름은 반드시 한글이어야 합니다!!');
      history.back(-1);
    </script>";
      exit();
   }
}

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.