회원 가입시 특수문자 막을려면 ? > 그누3질답

그누3질답

회원 가입시 특수문자 막을려면 ? 정보

회원 가입시 특수문자 막을려면 ?

본문

회원 가입시 특수문자 입력을 막고자 합니다.

현제 특수문자를 넣고 중복확인을 하면 중복이 없으니 사용이 가능하다고 나오는데요.

입력후 확인을 누르면 '영문 또는 숫자'가 아니므로 다시 넣어야 한다고 하네요.

아예 중복확인 누를때 특수문자일 경우 경고창 뜨면서 입력 못한다고 하려면 어찌 하여야 하는지 해서요.

고수님들의 조언을 부탁드립니다.
  • 복사

댓글 전체

bbs/mbidcheck.php 파일의 상단 빈곳에 아래 코드를 넣어주십시오.

if(!preg_match("/(^[a-zA-Z0-9]+$)/", $mb_id)){
echo "
<script language='JavaScript'>
        alert('영문자와 숫자만 사용할 수 있습니다.');
        parent.document.fmbform.mb_id_enabled.value = -1;
parent.document.fmbform.mb_id.select();
        window.close();
    </script>";
exit;
}
sjsjin 님 ...간단하고 좋은 팁이군요..감사합니다...^^

그누4에도 사용 가능하지요?

그런데, # 문자는  사용 가능하다고 나오네요....^^
이상하군요..
위 정규식대로라면 숫자, 영문 대/소문자 외에는 안되는게 정상인데..
테스트를 해봐야 겠네요.
일반적으로 여러군데 다용도로 사용하는 정규식인데..
알려줘서 고맙습니다.
특수기호중 일부 안되는 기호가 있군요..
post나 현재페이지는 문제가 없고, get 으로 넘겼을때만 문제가 됩니다.

1. bbs/mbidcheck.php 파일의 상단 $html_title = "회원아이디 중복확인"; 아래에 아래 코드를 넣어주십시오.
// 김선용 2006.1 - 일부 특수기호를 get으로 받았을때 제대로 받지 못하는 오류수정
rawurldecode($mb_id);

2. 회원가입폼 스킨의 회원id중복 체크하는 스크립트를 아래걸로 변경해 주십시오.
    // 회원아이디 검사
    function mb_id_check()
    {
        if (document.fmbform.mb_id.value == "") {
            alert('회원 아이디를 입력하세요.');
            document.fmbform.mb_id.focus();
            return false;
        }
// 김선용 2006.1 : 일부 특수기호를 get으로 넘겼을때 제대로 보내지 못하던 오류 수정
//encodeURIComponent : 특수기호까지 인코딩
var stemp = encodeURIComponent(document.getElementById("cmb_id").value);
//alert(stemp);
        //window.open('./?doc=bbs/mbidcheck.php&mb_id='+stemp, 'mbidcheck', 'left=10,top=100,width=400,height=400,scrollbars=1,status=1');
        window.open('./?doc=bbs/mbidcheck.php&mb_id='+stemp, 'hiddenframe');
    }

3. 회원가입폼 스킨의 회원id 입력 박스에 아래코드를 추가해 주십시오.
id="cmb_id"

* 브라우저 상관없이 적용됩니다.(3개 브라우저로 테스트완료)
* 관리자님이 보시면 g3/g4 모두 반영되었으면 좋을 사항이라고 생각됩니다.
* 테스트는 www.sjsjin.com 에서 회원가입폼에서 테스트 할 수 있습니다.
© SIRSOFT
현재 페이지 제일 처음으로