| 그누보드 팁 |

Q > 그누보드 > 그누보드 팁


별명을 한글/숫자/영어로만 입력받는 하는 방법
  • 글쓴이 : 관리자 작성일 : 12-04-06 04:54 조회 : 4,677 추천 : 0
기본 설치상황에서, 회원가입 혹은 정보수정시.
'공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)' 라고 표기됨에도 불구하고,
자모음이나, 한자, 특수문자 등으로 별명 설정이 가능합니다.
(원래 그런건지는 모르겠지만, 제가 설치해봤을 때는 늘상 그렇더군요.)


만약, 한글, 영어, 숫자로만 입력하게 하고 싶다면,

/skin/member/사용스킨/register_update.skin.php


function q_check_string($str) {
$tmp = $str;

$ban_arr = array('admin','administrator','관리자','운영자','어드민','주인장','webmaster');

for ($i=0; $i<count($ban_arr); $i++) {
$tmp = str_replace($ban_arr[$i], "", $tmp);
}
// $tmp = mb_convert_encoding($tmp,"EUC-KR","UTF-8");
$convMsg = mb_convert_encoding($tmp, "UTF-8", "EUC-KR");
$pattern = '/[\x{0061}-\x{007A}\x{0041}-\x{005A}\x{AC00}-\x{D7A3}\x{0030}-\x{0039}]+/u';
preg_match_all($pattern, $convMsg, $match);
$resultArr = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

if ($str!=$tmp)
$string_type = False;
else
$string_type = True;

return $string_type;
}


를 넣으시면, 해결 가능합니다.

$ban_arr에는 허용하지 않을 단어를 넣습니다. (단어가 포함만 되어도, 거부됩니다.)



단, 회원가입폼에서 ajax로 검사하는 부분은, 별도로 변경해주셔야 합니다.
변경하지 않을 경우, 'ㄴㅁ어어ㅗㄴ마ㅓ'라고 넣어도, '사용하셔도 좋은 별명 입니다.'라고 표기되며,
가입 진행시, alert() 처리됩니다.