var FormValidation = { msg_id: '', init : function(msg_id) { if (typeof msg_id == 'string') this.msg_id = msg_id; }, checkName : function(na) { var result = { bool: false, msg : [ 'À̸§À» ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', 'À̸§Àº Çѱ۸¸ °¡´ÉÇÕ´Ï´Ù.', 'À̸§Àº °ø¹é¾øÀÌ 2ÀÚ ÀÌ»ó 8ÀÚ ÀÌÇϸ¸ °¡´ÉÇÕ´Ï´Ù.' ] }; var util= this.util; if (util.isEmpty(na)) { result.msg = result.msg[0]; return result; } if ( !util.isKor(na) ) { result.msg = result.msg[1]; return result; } if (util.hasSpace(na)) { result.msg = result.msg[2]; return result; } if ( !util.isValidLength(na, 2, 8) ) { result.msg = result.msg[2]; return result; } return true; }, checkID : function(id) { var result = { bool: false, msg : [ '¾ÆÀ̵𸦠ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', '¿µ¹®/¼ýÀÚ 6~12ÀÚ À̳»·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', '¿µ¹®/¼ýÀÚ 6~12ÀÚ À̳»·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.' ] }; var util= this.util; if (util.isEmpty(id)) { result.msg = result.msg[0]; return result; } if (util.hasSpace(id)) { result.msg = result.msg[1]; return result; } if ( !util.isValidLength(id, 6, 12) ) { result.msg = result.msg[1]; return result; } var illegal_id = ["webmaster", "admin", "guest"]; for (var k in illegal_id) { if ( id != illegal_id[k] ) continue; result.msg = id + "´Â »ç¿ëÇÏ½Ç ¼ö ¾ø½À´Ï´Ù."; return result; } if ( !util.isEnNum(id, '', false) ) { result.msg = result.msg[2]; return result; } return true; }, checkPwd : function(pwd) { var result = { bool: false, msg : [ 'ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', 'ºñ¹Ð¹øÈ£´Â °ø¹é¾øÀÌ 6ÀÚÀÌ»ó, 12ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', 'ºñ¹Ð¹øÈ£´Â ¿µ¹®+¼ýÀÚ, 6ÀÚ ÀÌ»ó, 12ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.' ] }; var util= this.util; if (util.isEmpty(pwd)) { result.msg = result.msg[0]; return result; } if (util.hasSpace(pwd)) { result.msg = result.msg[1]; return result; } if ( !util.isValidLength(pwd, 6, 12) ) { result.msg = result.msg[1]; return result; } if ( !util.isEnNum(pwd, '', true) ) { result.msg = result.msg[2]; return result; } return true; }, checkEmail : function(email) { var result = { bool: false, msg : [ '¾ÆÀ̵ð(À̸ÞÀÏ) ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', 'À߸øµÈ À̸ÞÀÏ Çü½Ä ÀÔ´Ï´Ù.', 'À̸ÞÀÏ ÁÖ¼Ò´Â ÃÖ´ë 50ÀÚ ÀÔ´Ï´Ù.' ] }; var util= this.util; if (util.isEmpty(email)) { result.msg = result.msg[0]; return result; } var dot_pos = email.indexOf('.'); if (-1 == dot_pos || 0 == dot_pos) { result.msg = result.msg[1]; return result; } var split = email.split("@"); if (2 != split.length) { result.msg = result.msg[1]; return result; } var allow_c = ".-!#$%&'*+\/^_~{}|"; if ( !util.isEnNum(split[0], allow_c, true) ) { result.msg = result.msg[1]; return result; } var allow_c = ".-"; if ( !util.isEnNum(split[1], allow_c, true) ) { result.msg = result.msg[1]; return result; } if ( !util.isValidLength(email, "", 50) ) { result.msg = result.msg[2]; return result; } return true; }, checkMobileNum : function(num) { if (typeof num != 'string') return false; var result = { bool: false, msg : [ 'ÈÞ´ëÆù¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä.', 'ÈÞ´ëÆù¹øÈ£´Â ¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù.', 'ÈÞ´ëÆù¹øÈ£´Â ÃÖ¼Ò 9ÀÚ ÃÖ´ë 11ÀÚ ÀÔ´Ï´Ù.', 'ÈÞ´ëÆù¹øÈ£´Â 010,011,016,017,018,019 ¸¸ °¡´ÉÇÕ´Ï´Ù.' ] }; num = num.replace("-", ""); var util= this.util; if (util.isEmpty(num)) { result.msg = result.msg[0]; return result; } if ( !util.isNumber(num) ) { result.msg = result.msg[1]; return result; } if ( !util.isValidLength(num, 9, 11) ) { result.msg = result.msg[2]; return result; } var is_legal_num = false; var comp_num = num.substr(0, 3); var allow_comp_num= ['010', '011', '016', '017', '018', '019']; for (var i = 0, l = allow_comp_num.length; i < l; i++) { if (comp_num != allow_comp_num[i]) continue; is_legal_num = true; break; } if ( !is_legal_num ) { result.msg = result.msg[3]; return result; } return true; }, getRealAge : function (j_num) { var real_age = 0; if ( j_num.length == 13 ) { var gen_type = j_num.substr(6, 1); switch (gen_type) { case '1': case '2': case '5': case '6': year = '19'; break; case '3': case '4': case '7': case '8': year = '20'; break; case '9': case '0': year = '18'; break; } if ( year ) year += j_num.substr(0, 2); var now = new Date(); real_age = parseInt( now.getFullYear() ) - parseInt(year); var birth_mm_dd= j_num.substr(2, 4); if (birth_mm_dd.charAt(0) == 0) birth_mm_dd = birth_mm_dd.substring(1); birth_mm_dd = parseInt(birth_mm_dd); var now_dd = now.getDate(); if ( now_dd < 10 ) now_dd = '0' + now_dd; var now_mm_dd= now.getMonth() + 1 + "" + now_dd; now_mm_dd = parseInt(now_mm_dd); if ( birth_mm_dd >= now_mm_dd ) --real_age; if ( 0 == real_age ) real_age = 1; } return real_age; }, util : { trim : function(str) { if (!str) return false; var pattern = /(^\s*)|(\s*$)/g; str = str.replace(pattern, ""); return str; }, isEmpty : function(str) { if (!str) return true; str = this.trim(str); if (!str) return true; return false; }, isNumber : function(v) { return !(/[^0-9]/.test(v)); }, isUrl : function(str) { var pattern = /^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i; return (pattern.test(str)); }, isValidLength : function(str, min, max) { if ( !str || (!min && !max) ) return false; if (min && isNaN(min)) return false; if (max && isNaN(max)) return false; var mode = "both"; if (min && !max) mode = "min"; if (max && !min) mode = "max"; switch (mode) { case "both": if ( !str.charAt(min-1) || str.charAt(max) ) return false; break; case "min": if ( !str.charAt(min-1) ) return false; break; case "max": if ( str.charAt(max) ) return false; } return true; }, isKor : function(str, allow_jamo) { if (!str || typeof str != 'string') return false; if ( !allow_jamo ) allow_jamo = false; var kor_jamo = { cho : '¤¡¤¢¤¤¤§¤¨¤©¤±¤²¤³¤µ¤¶¤·¤¸¤¹¤º¤» ¤¼¤½¤¾', jung : '¤¿¤À¤Á¤Â¤Ã¤Ä¤Å¤Æ¤Ç¤È¤É¤Ê¤Ë¤Ì¤Í¤Î ¤Ï¤Ð¤Ñ¤Ò¤Ó', jong : '¤¡¤¢¤£¤¤¤¥¤¦¤§¤©¤ª¤«¤¬¤­¤®¤¯¤° ¤±¤²¤´¤µ¤¶¤·¤¸¤º¤»¤¼¤½¤¾' }; var is_kor = true; var is_jamo= false; var len = str.length; var uni_c; for (var i = 0; i < len; i++) { if ( allow_jamo ) { for (var p in kor_jamo) { if (kor_jamo[p].indexOf(str.charAt(i)) == -1) continue; is_jamo = true; break; } } if ( is_jamo ) break; uni_c = str.charCodeAt(i); if ( uni_c != 32 && (uni_c < 44032 || uni_c > 55203) ) { is_kor = false; break; } } return is_kor; }, hasKor : function(str, allow_jamo) { if (!str || typeof str != 'string') return false; if ( !allow_jamo ) allow_jamo = false; var has_kor= false; var l = str.length; for (var i = 0; i < l; i++) { var c = str.charAt(i); if ( this.isKor(c, allow_jamo) ) { has_kor = true; break; } } return has_kor; }, hasSpace : function(str) { if (!str) return true; if (str.indexOf(" ") != -1) return true; return false; }, getAge : function(j_num) { if (!j_num) return false; var j_year = j_num.substr(0,2); if (isNaN(j_year)) return false; var year = (j_year < 10)? "20" + j_year: "19" + j_year; var now = new Date(); var age = now.getFullYear() - year; return age; }, isEnNum : function(str, allow_c, allow_cap) { if (!str) return false; var str_len= str.length; var result = true; var c; for (var i = 0; i < str_len; i++) { c = str.charAt(i); if(c >= "a" && "z" >= c) continue; if(allow_cap && c >= "A" && "Z" >= c) continue; if(c >= "0" && "9" >= c) continue; if(allow_c && allow_c.indexOf(c) != -1) continue; result = false; break; } return result; }, isKorEnNum : function(str, allow_c, allow_cap) { if (!str) return false; var str_len= str.length; var result = true; var c; for (var i = 0; i < str_len; i++) { c = str.charAt(i); if(c >= "a" && "z" >= c) continue; if(allow_cap && c >= "A" && "Z" >= c) continue; if(c >= "0" && "9" >= c) continue; if(this.isKor(c)) continue; if(allow_c && allow_c.indexOf(c) != -1) continue; result = false; break; } return result; }, autoFocusMove : function(from_id, to_id, m_size) { if ( !from_id || !to_id ) return false; if ( !document.getElementById(from_id) ) return false; if ( !document.getElementById(to_id) ) return false; if ( !m_size || isNaN(m_size) ) return false; var from = document.getElementById(from_id); from.setAttribute("iscomp", 0); from.setAttribute("toid", to_id); from.setAttribute("msize", m_size); from.onkeyup = function() { var v = this.value; var iscomp= this.getAttribute("iscomp"); var to_id = this.getAttribute("toid"); var m_size= this.getAttribute("msize"); if ( !v.charAt(m_size-1) && iscomp ) this.setAttribute("iscomp", 0); if (v.charAt(m_size-1) && iscomp == 0 ) { this.setAttribute("iscomp", 1); document.getElementById(to_id).focus(); } } } } };