회원가입 정규식 질문입니다.

회원가입 정규식 질문입니다.

QA

회원가입 정규식 질문입니다.

본문

안녕하세요.

 

회원가입시 닉네임 옆에 버튼을 하나 두고 닉네임 유효성(?) 검사를 합니다.

 

register.lib.php 파일 중

 

//////////////////

 

function valid_mb_nick($reg_mb_nick)
{
    if (!check_string($reg_mb_nick, G5_HANGUL + G5_ALPHABETIC + G5_NUMERIC))
        return "닉네임은 공백없이 한글, 영문, 숫자만 입력 가능합니다.";
    else
        return "";
}

 

//////////////////

 

여기를 호출해서 유효성(?) 여부를 검사하는거 같은데요.

 

영어나 숫자는 별 탈이 없지만 한글은 모음만 넣어도 가입이 되네요.

 

홍길ㄷ, 한가ㅇ, 김말ㄷ 이렇게 모음만 따로 있어도 닉네임이 통과됩니다.

 

이걸 완성형? 한글로만 가능하도록 하려면 어떻게 수정해야 하나요? (홍길동, 한가인, 김말동)

 

저번에 비슷한걸 여쭈어 봤는데 초보다 보니 응용이 안되네요 ㅠㅜ

 

이 질문에 댓글 쓰기 :

답변 2

서버단에 체크하고싶으시면

 

mb_str_split함수 추가하시고, valid_mb_nick함수 앞에 아래 내용 추가하시면됩니다



function mb_str_split($str){
    $ret = array();
    for ($i=0; $i<mb_strlen($str, "utf-8"); $i++){
        array_push($ret, mb_substr($str, $i, 1, "utf-8"));
    }
    return $ret;
}

 

function valid_mb_nick($reg_mb_nick)
{
    $arr = mb_str_split($reg_mb_nick);

    foreach ($arr as $str){
        print_r($str);
        if(preg_match("`[ㄱ-ㅎ]`",$str) and !preg_match("`[가-힣]+`u",$str)){
            return '한글을 완성해주세요';
        }
    }
    if (!check_string($reg_mb_nick, G5_HANGUL + G5_ALPHABETIC + G5_NUMERIC))
        return "닉네임은 공백없이 한글, 영문, 숫자만 입력 가능합니다.";
    else
        return "";
}

핫..감사합니다 ^^ 이겁니다!

///수정

헐..ㅠㅠ

적용을 하고 회원가입을 누르니

return "";

값이 알럿으로 뜨고 회원가입 페이지가 넘어가질 않습니다 ㅠㅜ


작성한 닉네임이 알럿으로 계속 뜨고 넘어가질 않네요 ㅠㅜ

바로 옆에 버튼을 두고 하는 방법은 아니고 가입 버튼을 누르면 체크합니다.

http://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=244

참고해서 register_form.skin.php 수정

 

<input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>" id="reg_mb_nick" required class="frm_input required nospace  half_input" size="10" maxlength="20" placeholder="닉네임">

 

여기에 hangul 추가

 

<input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>" id="reg_mb_nick" required class="frm_input required hangul nospace half_input" size="10" maxlength="20" placeholder="닉네임">

답변을 작성하시기 전에 로그인 해주세요.
전체 18
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT