이메일로 로그인하기 정규식 질문요 채택완료
회원가입할때에 아이디에 이메일로 받아서 가입을 하려고하는데
lib/register.lib.php파일에서
기본은
Copy
function valid_mb_id($reg_mb_id){ if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id)) return "회원아이디는 영문자, 숫자, _ 만 입력하세요."; else return "";}
이렇게 되어있는 부분을
Copy
function valid_mb_id($reg_mb_id){ if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $reg_mb_id)) return "이메일로해."; else return "";}
이렇게 수정하여서 이메일양식이 아닐경우에
이메일로해 라는 alert창이 뜨도록 하였습니다.
그런데 회원가입시에 이부분이 통과가 되어야하는데
계속 이부분에서 걸리는데
정규식이 잘못된건지 어떤건지 모르겠네요
도움좀 부탁드리겠습니다~
답변 1개
채택된 답변
+20 포인트
9년 전
아래와 같이 수정해주세요.
if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $reg_mb_id))
을
if (!preg_match("/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/", $reg_mb_id))
로 변경해주세요.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인