//********************************************************// // Validate Class Ver. 1.0 // ÀÛ¼ºÀÚ : Á¤º´Å // ÀÛ¼ºÀÏ : 2007-12-10 // //********************************************************// /////////////////////////////////////////////////////////////////////////////////////// // À¯È¿¼º °Ë»ç ÇÔ¼ö ¸ðÀ½ /////////////////////////////////////////////////////////////////////////////////////// var Validate = { // °ø¹é°ª üũ isNull : function(value) { return value.blank() ? true : false; }, //¾ÆÀ̵ð ÆÐÅϰ˻ç (¿µ¹®¼Ò¹®ÀÚ/¼ýÀÚ Á¶ÇÕ 4~12ÀÚ¸®¸é "TRUE", ¾Æ´Ï¸é "FALSE") isId : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter = /^[a-z\d]{5,12}$/; var filter2 = /[a-z]/; //var filter3 = /[\d]/; return ((filter.test(value) && filter2.test(value))) ? true : false; }, // ºñ¹Ð¹øÈ£ ÆÐÅϰ˻ç (¿µ¹®¼Ò¹®ÀÚ/¼ýÀÚ Á¶ÇÕ 6~14ÀÚ¸®¸é "TRUE", ¾Æ´Ï¸é "FALSE") isPassword : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter = /^[a-z\d]{6,14}$/; var filter2 = /[a-z]/; var filter3 = /[\d]/; return ((filter.test(value) && filter2.test(value) && filter3.test(value))) ? true : false; }, // ºñ¹Ð¹øÈ£ ÆÐÅϰ˻ç (4~12ÀÚ¸®¸é "TRUE", ¾Æ´Ï¸é "FALSE") isPasswordNum : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter = /^[a-z\d]{6,14}$/; return filter.test(value) ? true : false; }, //À̸ÞÀÏ ÆÐÅϰ˻ç (À̸ÞÀÏÁÖ¼Ò¸é "TRUE", ¾Æ´Ï¸é "FALSE") isEmail : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; return (filter.test(value)) ? true : false; }, // Çѱ۸¸ À¯È¿ °Ë»ç (Çѱ۸¸ Æ÷ÇԵǾî ÀÕÀ¸¸é "TRUE", ´Ù¸¥ ¹®ÀÚ°¡ ÆûÇԵǾî ÀÖÀ¸¸é "FALSE") isKor : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/^[¤¡-ÆR]+$/; return (filter.test(value)) ? true : false; }, // ¾ËÆÄºª¸¸ À¯È¿ °Ë»ç (¾ËÆÄºª¸¸ Æ÷ÇԵǾî ÀÕÀ¸¸é "TRUE", ´Ù¸¥ ¹®ÀÚ°¡ ÆûÇԵǾî ÀÖÀ¸¸é "FALSE") isAlpha : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/^[a-zA-Z]+$/; return (filter.test(value)) ? true : false; }, // ¼ýÀÚ¸¸ À¯È¿ °Ë»ç (¼ýÀÚ¸¸ Æ÷ÇԵǾî ÀÕÀ¸¸é "TRUE", ´Ù¸¥ ¹®ÀÚ°¡ ÆûÇԵǾî ÀÖÀ¸¸é "FALSE") isNum : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/^[\d]+$/; return (filter.test(value)) ? true : false; }, // ³¯Â¥ À¯È¿ °Ë»ç (³¯Â¥Çü½Ä(YYYY-MM-DD) "TRUE", ¾Æ´Ï¸é "FALSE") isDate : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/^[\d]{4}\-[\d]{2}\-[\d]{2}$/; return (filter.test(value)) ? true : false; }, // ¾ËÆÄºª/¼ýÀÚ¸¸ À¯È¿ °Ë»ç (¾ËÆÄºª°ú ¼ýÀÚ¸¸ Æ÷ÇԵǾî ÀÕÀ¸¸é "TRUE", ´Ù¸¥ ¹®ÀÚ°¡ ÆûÇԵǾî ÀÖÀ¸¸é "FALSE") isAlphaNum : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/^[\w]+$/; return (filter.test(value)) ? true : false; }, // Áֹεî·Ï¹øÈ£ À¯È¿ °Ë»ç (Áֹεî·Ï¹øÈ£¸é "TRUE", ¾Æ´Ï¸é "FALSE") isSSN : function(value) { try { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var ssn = value.replace("-",""); var filter = /^[\d]{6}[1234][\d]{6}$/; if(!filter.test(ssn)) return false; var sex = parseInt(ssn.substr(6,1),10); var yy = parseInt(sex > 2 ? "20"+ssn.substr(0,2) : "19"+ssn.substr(0,2),10); var mm = parseInt(ssn.substr(2,2),10); var dd = parseInt(ssn.substr(4,2),10); if(yy < 1900 || yy > 2100 || mm < 1 || mm > 12 || dd < 1 || dd > 31) return false; var chk = 0; for(var i = 0; i <=11; i++){ chk = chk + (((i % 8) + 2) * parseInt(ssn.substring(i, i + 1),10)); } return ((11 - (chk % 11)) % 10) == ssn.substr(12,1) ? true : false; } catch(e) { alert(e.description); return false; } }, // ¿Ü±¹Àεî·Ï¹øÈ£ À¯È¿ °Ë»ç (Áֹεî·Ï¹øÈ£¸é "TRUE", ¾Æ´Ï¸é "FALSE") isFGN : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var ssn = value.replace("-",""); var filter = /^[\d]{6}[5678][\d]{6}$/; if(!filter.test(ssn)) return false; var sum = 0; var odd = 0; var buf = new Array(13); for(i = 0; i < 13; i++) { buf[i] = parseInt(ssn.charAt(i)); } odd = buf[7]*10 + buf[8]; if(odd%2 != 0) return false; if((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) return false; multipliers = [2,3,4,5,6,7,8,9,2,3,4,5]; for (i = 0, sum = 0; i < 12; i++){ sum += (buf[i] *= multipliers[i]); } sum = 11-(sum%11); if(sum >= 10) sum -= 10; sum += 2; if(sum >= 10) sum -= 10; return (sum == buf[12]) ? true : false ; }, // À̹ÌÁöÆÄÀϸ¸ À¯È¿ °Ë»ç (À̹ÌÁö¸é "TRUE", ¾Æ´Ï¸é "FALSE") isImageFile : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ value = value.substr(value.lastIndexOf("\\")+1); var filter=/\.(jpg|gif|png|bmp)$/i; return (filter.test(value) && Validate.checkSpecialChar(value)) ? true : false; }, // ÆÄÀÏÈ®ÀåÀÚ °Ë»ç (½ÇÇàÆÄÀÏÀÌ ¾Æ´Ï¸é "TRUE", ½ÇÇàÆÄÀÏÀ̸é "FALSE") checkFileName : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ value = value.substr(value.lastIndexOf("\\")+1); var filter=/\.(asp|jsp|php|cgi|exe|sh|class)$/i; return (!filter.test(value) && Validate.checkSpecialChar(value)) ? true : false; }, // Ư¼ö¹®ÀÚ ÀÔ·Â °Ë»ç (Ư¼ö¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀ¸¸é "TRUE", Æ÷ÇԵǾî ÀÕÀ¸¸é "FALSE") checkSpecialChar : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/[#/:;'\"]/; var filter2=/[\-]{2}/; return (!filter.test(value) && !filter2.test(value)) ? true : false; }, // Ư¼ö¹®ÀÚ ÀÔ·Â °Ë»ç (Ư¼ö¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀ¸¸é "TRUE", Æ÷ÇԵǾî ÀÕÀ¸¸é "FALSE") checkSpecialChar2 : function(value) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ var filter=/[\"]/; var filter2=/[\-]{2}/; return (!filter.test(value) && !filter2.test(value)) ? true : false; }, // ¹®ÀÚ¿­ ±æÀÌ °Ë»ç (¹®ÀÚ¿­ÀÇ ±æÀ̰¡ ³ÑÁö ¾ÊÀ¸¸é "TRUE", ³ÑÀ¸¸é "FALSE") checkLength : function(value, min, max) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ return (value.length >= min && value.length <= max); }, // ¼ýÀÚ¹üÀ§ °Ë»ç (¼ýÀÚ¹üÀ§°¡ ³ÑÁö ¾ÊÀ¸¸é "TRUE", ³ÑÀ¸¸é "FALSE") checkRange : function(value, min, max) { if(Validate.isNull(value)) return true; // °ªÀÌ °ø¹éÀÏ °æ¿ì¿¡´Â °Ë»ç¸¦ ÇÏÁö¾Ê°í "TRUE"¸¦ ¸®ÅÏ return (parseInt(value,10) >= min && parseInt(value,10) <= max); } }; /////////////////////////////////////////////////////////////////////////////////////// // ¡Ø Validate.Form ¸¦ ÅëÇØ¼­ »ç¿ëÇÑ´Ù. // ÇØ´ç Æû¿¡ ´ëÇÑ À¯È¿¼º °Ë»ç¸¦ ó¸®ÇÏ´Â ÇÔ¼ö ¸ðÀ½ /////////////////////////////////////////////////////////////////////////////////////// Validate.Inpector = { ISNULL : function(form,options) { var name = Object.isArray(options.name) ? options.name[0] : options.name; var input = this.form[name].tagName ? this.form[name] : this.form[name][0]; var type = input.tagName == "INPUT" ? input.type : input.tagName; var inspector = this[type.toUpperCase()].bind(this); return inspector(this.form,options); }, // text/input/textarea ŸÀÔÀÇ ±âº»ÀûÀÎ °ø¹éüũ TEXT : function(form, options) { var input = form[options.name]; if (Validate.isNull(input.value)) { this.msg(input,options.text + getAux(options.text,1) +" ÀÔ·ÂÇϼ¼¿ä."); return false; } return true; }, HIDDEN : function(form, options){ return this.TEXT(form, options);}, INPUT : function(form, options){ return this.TEXT(form, options);}, TEXTAREA : function(form, options){ return this.TEXT(form, options);}, FILE : function(form, options){ return this.TEXT(form, options);}, PASSWORD : function(form, options){ return this.TEXT(form, options);}, // select ŸÀÔÀÇ ¼±ÅÃµÈ option¿¡ °ªÀÌ ¾ø´ÂÁö üũ SELECT : function(form, options) { var input = form[options.name]; if (Validate.isNull(input.options[input.options.selectedIndex].value)) { this.msg(input,options.text + getAux(options.text,1) +" ¼±ÅÃÇϼ¼¿ä."); return false; } return true; }, // radio ŸÀÔÀÌ ¼±Åÿ¡ µÇ¾îÀÖ´ÂÁö üũ RADIO : function(form, options) { var input = form[options.name]; for (i = 0; i < input.length; i++) { if (input[i].checked) return true; } this.msg(input[0],options.text + getAux(options.text,1) +" ¼±ÅÃÇϼ¼¿ä."); return false; }, // checkbox ŸÀÔÀÌ ÇϳªÀÌ»óÀÌ ¼±Åÿ¡ µÇ¾îÀÖ´ÂÁö üũ CHECKBOX : function(form, options) { var input; if(Object.isArray(options.name)) { input = new Array(); for (i = 0; i < options.name.length; i++) { input[input.length] = form[options.name[i]]; } } else { input = form[options.name]; } for(i=0;i