회원가입시 이름을 영문으로 가입되게 하려면..
본문
회원가입시 이름을 영문으로 가입되게 하려면.. 어떻게 수정해야 되나요?
여기에서 어떤걸 수정해야 될까요?
********
<?
include_once("_common.php");
// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함
if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id)) {
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_mb_id) < 3) {
//echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_id = '$reg_mb_id' ");
if ($row[cnt]) {
echo "130"; // 이미 존재하는 회원아이디
} else {
if (preg_match("/[\,]?{$reg_mb_id}/i", $config[cf_prohibit_id]))
echo "140"; // 예약어로 금지된 회원아이디
else
echo "000"; // 정상
}
}
?>
****************
답변 2
/bbs/register_form_update.php 파일에서
if (!check_string($mb_name, _G4_HANGUL_))
alert('이름은 공백없이 한글만 입력 가능합니다.');
이 부분을 아래처럼 수정해보세요
if (!check_string($mb_name, _G4_HANGUL_ + _G4_ALPHABETIC_))
alert('이름은 공백없이 한글,영문만 입력 가능합니다.');
if (!check_string($mb_name, _G4_HANGUL_))
alert('이름은 공백없이 한글만 입력 가능합니다.');
이 부분을 아래처럼 수정해보세요
if (!check_string($mb_name, _G4_HANGUL_ + _G4_ALPHABETIC_))
alert('이름은 공백없이 한글,영문만 입력 가능합니다.');
php한글체크를 위한 정규표현식
$str = "This is 한글" ;
if(preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $str)) //true면 한글이 포함되어 있고 false엄따..
echo"한글이 섞여있네..";
}else{
echo"아니면 말고";
}
한글은 http://infoki.net/717 에서 참조하시고
기존의 한글을 unicode로 변환후 euckr로 처리 하는 형태입니다.
php 에서 처리 해야할 한글 변환 처리
function tostring($text) {
// return iconv('UTF-16LE', 'UTF-8', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2)))); // UTF-8 인 경우
return iconv('UTF-16LE', 'UHC', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2)))); // EUC-KR 인 경우
}
function unescape($text){
return rawurldecode(preg_replace_callback('/%u([[:alnum:]]{4})/', 'tostring', $text));
}
$test = unescape($test);
// ajax가 실행되는 스크립트는 해당 엘리멘탈을 var han = escape(jQuery('#hangul').val());
형태로 하시면 될듯합니다 테스트 한번해보세요 ^^
답변을 작성하시기 전에 로그인 해주세요.