1/// ìë¬ë©ìì§ í¬ë©§ ì ì /// 2var NO_BLANK = "{name+ìë} íìí목ì ëë¤. ë°ëì ì ë ¥íììì."; 3var NOT_VALID = "{name+ì´ê°} ì¬ë°ë¥´ì§ ììµëë¤. ë¤ì í ë² íì¸í´ 주ììì."; 4var TOO_LONG = "{name}ì 길ì´ê° ì´ê³¼ëììµëë¤."; 5 6/// ì¤í¸ë§ ê°ì²´ì ë©ìë ì¶ê° /// 7String.prototype.trim = function(str) { 8 str = this != window ? this : str; 9 return str.replace(/^\s+/g,'').replace(/\s+$/g,''); 10} 11 12String.prototype.hasFinalConsonant = function(str) { 13 str = this != window ? this : str; 14 var strTemp = str.substr(str.length-1); 15 return ((strTemp.charCodeAt(0)-16)%28!=0); 16} 17 18function josa(str,tail) { 19 return (str.hasFinalConsonant()) ? tail.substring(0,1) : tail.substring(1,2); 20} 21 22function validate(form) { 23 24 //2020.02.03 by [email protected] 25 // ê²ìí ì½ë ì í¨ì± ê²ì¬ 26 // 2020.06.10 by [email protected] 27 // ê²ìí ì¤ì ìì íì´ì§ììë ê²ìí ì½ë ê²ì¬ ìí¨ 28 // https://ad.mediaon.co.kr/?r=cs_view&pid=27159&cid=196503 29 if($('form[name="bbsInfoFrm"]').attr('action').indexOf('mode=mod') == -1) { 30 var codeRegex = /^[a-z|A-Z|0-9]+$/; 31 32 if (!codeRegex.test($("[name=bbs_code]").val())) { 33 alert('â» [ê²ìí ì½ëë 10ìì´ë´ ì문 í¹ì ì문+ì«ì íìì¼ë¡ë§ ì ë ¥íì¸ì]'); 34 return false; 35 } 36 37 if ($("[name=bbs_code]").val().length > 10) { 38 alert('â» [ê²ìí ì½ëë 10ìì´ë´ ì문 í¹ì ì문+ì«ì íìì¼ë¡ë§ ì ë ¥íì¸ì]'); 39 return false; 40 } 41 } 42 43 for (i = 0; i < form.elements.length; i++ ) { 44 var el = form.elements[i]; 45 // 2016.09.21 by [email protected] 46 // ì¤ë¥ëì 주ìì²ë¦¬ 47 //el.value = el.value.trim(); 48 49 if (el.getAttribute("REQUIRED") != null) { 50 if (el.value == null || el.value == "") { 51 return doError(el,NO_BLANK); 52 } 53 } 54 55 if (el.getAttribute("MAXBYTE") != null && el.value != "") { 56 var len = 0; 57 for(j=0; j<el.value.length; j++) { 58 var str = el.value.charAt(j); 59 len += (str.charCodeAt() > 128) ? 2 : 1 60 } 61 if (len > parseInt(el.getAttribute("MAXBYTE"))) { 62 maxbyte = el.getAttribute("MAXBYTE"); 63 return doError(el,TOO_LONG); 64 } 65 } 66 67 if (el.getAttribute("OPTION") != null && el.value != "") { 68 if (!funcs[el.getAttribute("OPTION")](el)) return false; 69 } 70 } 71 return true; 72} 73 74function doError(el,type) { 75 var pattern = /{([a-zA-Z0-9_]+)\+?([ê°-í£]{2})?}/; 76 var name = (hname = el.getAttribute("HNAME")) ? hname : el.getAttribute("NAME"); 77 pattern.exec(type); 78 var tail = (RegExp.$2) ? josa(eval(RegExp.$1),RegExp.$2) : ""; 79 alert(type.replace(pattern,eval(RegExp.$1) + tail)); 80 81 focusType = el.getAttribute("FTYPE"); 82 if (focusType == null || focusType == "focus") 83 { 84 el.focus(); 85 } 86 else if (focusType == "select") 87 { 88 el.select(); 89 } 90 else if (focusType == "delete") 91 { 92 el.value = ""; 93 } 94 else if (focusType == "none") 95 { 96 } 97 98 return false; 99} 100 101/// í¹ì í¨í´ ê²ì¬ í¨ì 매í /// 102var funcs = new Array(); 103funcs['email'] = isValidEmail; 104funcs['phone'] = isValidPhone; 105funcs['userid'] = isValidUserid; 106funcs['hangul'] = hasHangul; 107funcs['number'] = isNumeric; 108funcs['engonly'] = alphaOnly; 109funcs['jumin'] = isValidJumin; 110funcs['bizno'] = isValidBizNo; 111funcs['num_per_page'] = isNumeric; 112funcs['page_per_block'] = isNumeric; 113funcs['table_width'] = isNumeric; 114funcs['new_time'] = isNumeric; 115funcs['jumin2'] = isValidJumin2; 116 117/// í¨í´ ê²ì¬ í¨ìë¤ /// 118function isValidEmail(el) { 119 var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/; 120 return (pattern.test(el.value)) ? true : doError(el,NOT_VALID); 121} 122 123function isValidUserid(el) { 124 var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_]{4,10}$/; 125 return (pattern.test(el.value)) ? true : doError(el,"{name+ìë} 5ìì´ì 11ì 미ë§ì´ì´ì¼ íê³ ,\n ì문,ì«ì, _ 문ìë§ ì¬ì©í ì ììµëë¤"); 126} 127 128function hasHangul(el) { 129 var pattern = /[ê°-í£]/; 130 return (pattern.test(el.value)) ? true : doError(el,"{name+ìë} ë°ëì íê¸ì í¬í¨í´ì¼ í©ëë¤"); 131} 132 133function alphaOnly(el) { 134 var pattern = /^[a-zA-Z]+$/; 135 return (pattern.test(el.value)) ? true : doError(el,NOT_VALID); 136} 137 138function isNumeric(el) { 139 var pattern = /^[0-9]+$/; 140 return (pattern.test(el.value)) ? true : doError(el,"{name+ìë} ë°ëì ì«ìë¡ë§ ì ë ¥í´ì¼ í©ëë¤"); 141} 142 143 144function isValidJumin(el) { 145 var pattern = /^([0-9]{6})-?([0-9]{7})$/; 146 var num = el.value; 147 if (!pattern.test(num)) return doError(el,NOT_VALID); 148 num = RegExp.$1 + RegExp.$2; 149 150 var sum = 0; 151 var last = num.charCodeAt(12) - 0x30; 152 var bases = "234567892345"; 153 for (i=0; i<12; i++) { 154 if (isNaN(num.substring(i,i+1))) return doError(el,NOT_VALID);
155 sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30); 156 } 157 var mod = sum % 11; 158 return ((11 - mod) % 10 == last) ? true : doError(el,NOT_VALID); 159} 160 161function isValidJumin2(el) { 162 var pattern = /^([0-9]{6})-?([0-9]{7})$/; 163 var j1 = document.MakeForm.jumin1.value; 164 var j2 = document.MakeForm.jumin2.value; 165 //var num = el.value; 166 var num = j1 + j2; 167 if (!pattern.test(num)) return doError(el,NOT_VALID); 168 num = RegExp.$1 + RegExp.$2; 169 170 var sum = 0; 171 var last = num.charCodeAt(12) - 0x30; 172 var bases = "234567892345"; 173 for (i=0; i<12; i++) { 174 if (isNaN(num.substring(i,i+1))) return doError(el,NOT_VALID); 175 sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30); 176 } 177 var mod = sum % 11; 178 return ((11 - mod) % 10 == last) ? true : doError(el,NOT_VALID); 179} 180 181function isValidBizNo(el) { 182 var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/; 183 var num = el.value; 184 if (!pattern.test(num)) return doError(el,NOT_VALID); 185 num = RegExp.$1 + RegExp.$2 + RegExp.$3; 186 var cVal = 0; 187 for (var i=0; i<8; i++) { 188 var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp == 1 ) ? 3 : 7); 189 cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10; 190 } 191 var li_temp = parseFloat(num.substring(i,i+1)) * 5 + '0'; 192 cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2)); 193 return (parseInt(num.substring(9,10)) == 10-(cVal % 10)%10) ? true : doError(el,NOT_VALID); 194} 195 196function isValidPhone(el) { 197 var pattern = /^([0]{1}[0-9]{1,2})-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/; 198 if (pattern.exec(el.value)) { 199 if(RegExp.$1 == "011" || RegExp.$1 == "016" || RegExp.$1 == "017" || RegExp.$1 == "018" || RegExp.$1 == "019") { 200 el.value = RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp.$3; 201 } 202 return true; 203 } else { 204 return doError(el,NOT_VALID); 205 } 206} 207 208/***********************************************************************************************************************************/ 209 210/***************** sample form ****************************************************************************************************** 211<script language="javascript" src="inc/raymond.js"></script> 212<form name="test" action="script.php" method="post" onSubmit="return validate(this)"> 213<input type="hidden" name="test" value="" FTYPE="none"> <!-- í¬ì»¤ì¤ íí --> 214ì´ë¦ : <input type='text' name="username" size='13' hname='ì´ë¦' maxbyte='10' REQUIRED> <br> 215email : <input type='text' name="email" size='40' hname='ì´ë©ì¼' maxbyte='40' option='email' REQUIRED> <br> 216주민ë²í¸ : <input type='text' name="jumin" size='13' maxlength='13' hname='주민ë²í¸' maxbyte='13' option="jumin" REQUIRED> <br> 217<input type=image src='images/write.gif' onClick='submit' align=absmiddle> 218</FORM> 219************************************************************************************************************************************/ 220 221/************* 222<fieldset> íê·¸ ë¤ì´ê°ë©´ 본 ì¤í¬ë¦½í¸ ì²ë¦¬ ìë¨ 223***************/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.