From 177ceb81bc52ce0055f5310ac3d591d751e36494 Mon Sep 17 00:00:00 2001 From: chicpro Date: Thu, 28 Feb 2013 13:44:15 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85=EC=8B=9C?= =?UTF-8?q?=20=ED=9C=B4=EB=8C=80=ED=8F=B0=EB=B2=88=ED=98=B8=20=EC=A4=91?= =?UTF-8?q?=EB=B3=B5=20=EC=B2=B4=ED=81=AC=EB=A5=BC=20=EC=9C=84=ED=95=9C=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bbs/ajax.mb_hp.php | 10 +++ js/jquery.register_form.js | 19 ++++++ lib/register.lib.php | 64 ++++++++++++++----- skin/member/kcpcert/register_form.skin.php | 10 +++ .../register_form_update.head.skin.php | 16 ++--- 5 files changed, 90 insertions(+), 29 deletions(-) create mode 100644 bbs/ajax.mb_hp.php diff --git a/bbs/ajax.mb_hp.php b/bbs/ajax.mb_hp.php new file mode 100644 index 000000000..585acd5aa --- /dev/null +++ b/bbs/ajax.mb_hp.php @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/js/jquery.register_form.js b/js/jquery.register_form.js index 796de39b6..ea6068020 100644 --- a/js/jquery.register_form.js +++ b/js/jquery.register_form.js @@ -51,4 +51,23 @@ var reg_mb_email_check = function() { } }); return result; +} + + +var reg_mb_hp_check = function() { + var result = ""; + $.ajax({ + type: "POST", + url: g4_bbs_url+"/ajax.mb_hp.php", + data: { + "reg_mb_hp": $("#reg_mb_hp").val(), + "reg_mb_id": encodeURIComponent($("#reg_mb_id").val()) + }, + cache: false, + async: false, + success: function(data) { + result = data; + } + }); + return result; } \ No newline at end of file diff --git a/lib/register.lib.php b/lib/register.lib.php index 1b39a9398..bd54da224 100644 --- a/lib/register.lib.php +++ b/lib/register.lib.php @@ -5,7 +5,7 @@ function empty_mb_id($reg_mb_id) { if (trim($reg_mb_id)=='') return "회원아이디를 입력해 주십시오."; - else + else return ""; } @@ -13,7 +13,7 @@ function valid_mb_id($reg_mb_id) { if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id)) return "회원아이디는 영문자, 숫자, _ 만 입력하세요."; - else + else return ""; } @@ -21,7 +21,7 @@ function count_mb_id($reg_mb_id) { if (strlen($reg_mb_id) < 3) return "회원아이디는 최소 3글자 이상 입력하세요."; - else + else return ""; } @@ -32,7 +32,7 @@ function exist_mb_id($reg_mb_id) $row = sql_fetch($sql); if ($row['cnt']) return "이미 사용중인 회원아이디 입니다."; - else + else return ""; } @@ -41,31 +41,31 @@ function reserve_mb_id($reg_mb_id) global $config; if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id'])) return "이미 예약된 단어로 사용할 수 없는 회원아이디 입니다."; - else + else return ""; } -function empty_mb_nick($reg_mb_nick) +function empty_mb_nick($reg_mb_nick) { if (!trim($reg_mb_nick)) return "별명을 입력해 주십시오."; - else + else return ""; } -function valid_mb_nick($reg_mb_nick) +function valid_mb_nick($reg_mb_nick) { if (!check_string($reg_mb_nick, G4_HANGUL + G4_ALPHABETIC + G4_NUMERIC)) return "별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다."; - else + else return ""; } -function count_mb_nick($reg_mb_nick) +function count_mb_nick($reg_mb_nick) { if (strlen($reg_mb_nick) < 4) return "별명은 한글 2글자, 영문 4글자 이상 입력 가능합니다."; - else + else return ""; } @@ -84,15 +84,15 @@ function reserve_mb_nick($reg_mb_nick) global $config; if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id'])) return "이미 예약된 단어로 사용할 수 없는 별명 입니다."; - else + else return ""; } -function empty_mb_email($reg_mb_email) +function empty_mb_email($reg_mb_email) { if (!trim($reg_mb_email)) return "E-mail 주소를 입력해 주십시오."; - else + else return ""; } @@ -127,11 +127,11 @@ function exist_mb_email($reg_mb_email, $reg_mb_id) return ""; } -function empty_mb_name($reg_mb_name) +function empty_mb_name($reg_mb_name) { if (!trim($reg_mb_name)) return "이름을 입력해 주십시오."; - else + else return ""; } @@ -139,7 +139,37 @@ function valid_mb_name($mb_name) { if (!check_string($mb_name, G4_HANGUL)) return "이름은 공백없이 한글만 입력 가능합니다."; - else + else + return ""; +} + +function valid_mb_hp($reg_mb_hp) +{ + $reg_mb_hp = preg_replace("/[^0-9]/", "", $reg_mb_hp); + if(!$reg_mb_hp) + return "핸드폰번호를 올바르게 입력해 주십시오."; + else + return ""; +} + +function exist_mb_hp($reg_mb_hp, $reg_mb_id) +{ + global $g4; + $reg_mb_hp = preg_replace("/[^0-9]/", "", $reg_mb_hp); + $len = strlen($reg_mb_hp); + if($len == 10) + $reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "\\1-\\2-\\3", $reg_mb_hp); + else if($len == 11) + $reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{4})/", "\\1-\\2-\\3", $reg_mb_hp); + else + return "핸드폰번호를 올바르게 입력해 주십시오."; + + $sql = "select count(*) as cnt from {$g4['member_table']} where mb_hp = '$reg_mb_hp' and mb_id <> '$reg_mb_id' "; + $row = sql_fetch($sql); + + if($row['cnt']) + return "이미 사용 중인 핸드폰번호입니다."; + else return ""; } diff --git a/skin/member/kcpcert/register_form.skin.php b/skin/member/kcpcert/register_form.skin.php index 7bc5da5e1..92b9215a9 100644 --- a/skin/member/kcpcert/register_form.skin.php +++ b/skin/member/kcpcert/register_form.skin.php @@ -302,6 +302,16 @@ function fregisterform_submit(f) } } + // 휴대폰번호 검사 + if ((f.w.value == "") || (f.w.value == "u" && f.mb_hp.defaultValue != f.mb_hp.value)) { + var msg = reg_mb_hp_check(); + if (msg) { + alert(msg); + f.reg_mb_hp.select(); + return false; + } + } + // 휴대폰인증 검사 if(f.kcpcert_time.value == "") { alert("휴대폰 본인인증을 해주세요."); diff --git a/skin/member/kcpcert/register_form_update.head.skin.php b/skin/member/kcpcert/register_form_update.head.skin.php index cea561b5f..e5f38b09d 100644 --- a/skin/member/kcpcert/register_form_update.head.skin.php +++ b/skin/member/kcpcert/register_form_update.head.skin.php @@ -3,25 +3,17 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 // 자신만의 코드를 넣어주세요. -// 핸드폰번호 중복체크 -$reg_hp = preg_replace("/[^0-9]/", "", $mb_hp); -if(!$reg_hp) - alert('핸드폰번호를 입력해 주세요.', "", true, true); +// 핸드폰번호 체크 +if ($msg = valid_mb_hp($mb_hp)) alert($msg, "", true, true); +if ($msg = exist_mb_hp($mb_hp, $mb_id)) alert($msg, "", true, true); +$reg_hp = preg_replace("/[^0-9]/", "", $mb_hp); $hp_len = strlen($reg_hp); if($hp_len == 10) $reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "\\1-\\2-\\3", $reg_hp); else if($hp_len == 11) $reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{4})/", "\\1-\\2-\\3", $reg_hp); -else - alert('핸드폰번호가 올바르지 않습니다.', "", true, true); - -$sql2 = " select count(*) as cnt from {$g4['member_table']} - where mb_hp = '$reg_mb_hp' and mb_id <> '$mb_id' and mb_leave_date = '' "; -$row2 = sql_fetch($sql2); -if($row2['cnt']) - alert('입력하신 핸드폰번호는 다른 회원님이 사용 중입니다.', "", true, true); /* ======================================================================================================= */ /* = 휴대폰인증 및 성인인증 = */