jQuery(document).ready(function() { if(!document.getElementById('blueAlert')) { jQuery(document.body).append('
'); } jQuery("#blueAlert").dialog({ autoOpen: false, width: 300, height: 100, modal: true, buttons: { 확인: function() { jQuery(this).dialog('close'); } } }); }); function checkLength(o, ot, msg, min, max) { if ( o.val().length > max || o.val().length < min ) { o.addClass('ui-state-error'); ot.addClass('ui-state-error'); return false; } else { return true; } } function checkRegexp(o,ot, regexp) { if ( !( regexp.test( o.val() ) ) ) { o.addClass('ui-state-error'); ot.addClass('ui-state-error'); return false; } else { return true; } } function submitJoin() { jQuery('#btnSubmit').css('display', 'none'); var allFields = jQuery([]).add(jQuery('#userid')).add(jQuery('#passwd')).add(jQuery('#passwd_chk')).add(jQuery('#nickName')).add(jQuery('#email')); var allTxts = jQuery([]).add(jQuery('#txt_userid')).add(jQuery('#txt_passwd')).add(jQuery('#txt_passwd_chk')).add(jQuery('#txt_nickName')).add(jQuery('#txt_email')); jQuery('#txt_userid').text('아이디는 4~20byte 이하의 영문자 및 숫자로 입력하여 주세요.'); jQuery('#txt_passwd').text('패스워드는 4~20byte 이하의 영문자 및 숫자로 입력하여 주세요.'); jQuery('#txt_passwd_chk').text(''); jQuery('#txt_nickName').text('닉네임은 20byte 이하로 입력하여 주세요.(한글의 경우 한자가 2byte)'); jQuery('#txt_email').text('회원가입후 이메일 체크를 하니 정확히 입력하여 주세요.'); allFields.removeClass('ui-state-error'); allTxts.removeClass('ui-state-error').addClass('ui-state-default-text'); if(!checkLength(jQuery("#userid"), jQuery("#txt_userid"), "아이디는 4~20byte 이하의 영문자 및 숫자로 입력하여 주세요.", 4, 16) || !checkRegexp(jQuery('#userid'), jQuery("#txt_userid"), /^[a-z]([0-9a-z_])+$/i)) { jQuery("#userid").focus(); jQuery('#btnSubmit').show(); return false; } if(!checkLength(jQuery("#passwd"), jQuery("#txt_passwd"), "패스워드는 4~20byte 이하의 영문자 및 숫자로 입력하여 주세요.", 4, 16) || !checkRegexp(jQuery('#userid'), jQuery("#txt_userid"), /^[a-z]([0-9a-z_])+$/i)) { jQuery("#passwd").focus(); jQuery('#btnSubmit').show(); return false; } if(jQuery('#passwd').val() != jQuery('#passwd_chk').val()) { jQuery('#passwd_chk').addClass('ui-state-error').focus(); jQuery('#txt_passwd_chk').addClass('ui-state-error').text('패스워드가 일치하지 않습니다.'); jQuery('#btnSubmit').show(); return false; } if(!checkLength(jQuery("#nickName"), jQuery("#txt_nickName"), "닉네임은 20byte 이하로 입력하여 주세요.(한글의 경우 한자가 2byte)", 0, 16)) { jQuery("#nickName").focus(); jQuery('#btnSubmit').show(); return false; } if(!checkRegexp(jQuery("#email"), jQuery("#txt_email"), /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i)) { jQuery("#email").focus(); jQuery('#btnSubmit').show(); return false; } jQuery.post(jQuery('#frmJoin').attr("action"), jQuery('#frmJoin').serialize(), function(ret) { ret = jQuery.trim(ret); if(ret == '1') { jQuery('#userid').addClass('ui-state-error').focus(); jQuery('#txt_userid').addClass('ui-state-error').text('이미 존재하는 아이디입니다.'); jQuery('#btnSubmit').show(); } else if(ret == '2') { jQuery('#nickName').addClass('ui-state-error').focus(); jQuery('#txt_nickName').addClass('ui-state-error').text('이미 존재하는 닉네임입니다.'); jQuery('#btnSubmit').show(); } else if(ret == '3') { jQuery('#email').addClass('ui-state-error').focus(); jQuery('#txt_email').addClass('ui-state-error').text('이미 존재하는 이메일 주소입니다.'); jQuery('#btnSubmit').show(); } else { location.replace('/ko/member/join/complete'); } } ); return false; // bValid = bValid && checkRegexp(name, /^[a-z]([0-9a-z_])+$/i,"Username may consist of a-z, 0-9, underscores, begin with a letter."); // bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/,"Password field only allow : a-z 0-9"); // bValid = bValid && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"eg. ui@jquery.com"); } function submitLogin() { jQuery.post(jQuery('#frmLogin').attr("action"), jQuery('#frmLogin').serialize(), function(ret) { ret = jQuery.trim(ret); if(ret == 'login') { location.replace(jQuery('#returl').val()); } else if(ret == 'auth') { blueMemberAlert('이메일인증 후 로그인 하실 수 있습니다. 이메일을 확인하여 주세요.'); } else { blueMemberAlert('아이디 또는 비밀번호를 정확히 입력하여 주세요.'); } } ); return false; } function submitLogout() { jQuery.post(jQuery('#frmLogout').attr("action"), jQuery('#frmLogout').serialize(), function(ret) { ret = jQuery.trim(ret); if(ret == 'logout') { location.replace(jQuery('#returl').val()); } else { blueMemberAlert('로그아웃중 오류가 발생하였습니다. 다시한번 시도해주세요.'); } } ); } function blueMemberAlert(msg) { jQuery("#blueAlert").text(msg).dialog('open'); }