1 2var prefixes=new Array(); 3prefixes["_checked_"]=validate_checked; 4prefixes["_nonempty_"]=validate_nonempty; 5prefixes["_email_"]=validate_email; 6prefixes["_date_"]=validate_date; 7prefixes["_time_"]=validate_time; 8prefixes["_datetime_"]=validate_datetime; 9prefixes["_number_"]=validate_number; 10prefixes["_select_"]=validate_select; 11prefixes["_radio_"]=validate_radio; 12prefixes["_alphastring_"]=validate_alphastring; 13prefixes["_login_"]=validate_login; 14prefixes["_dirname_"]=validate_dirname; 15//marhipov 16prefixes["_nonemptyalt_"]=validate_nonemptyalt; 17prefixes["_nonempchkgroup_"]=validate_nonempchkgroup; 18 19// 20 21warnings=new Array(); 22warnings["_nonempty_"]="Íå çàïîëíåíî îáÿçàòåëüíîå ïîëå"; 23warnings["_email_"]="Íåâåðíûé ôîðìàò email"; 24warnings["_date_"]="Íåâåðíûé ôîðìàò äàòû(DD.MM.YYYY)"; 25warnings["_time_"]="Íåâåðíûé ôîðìàò âðåìåíè(HH:MM)"; 26warnings["_datetime_"]="Íåâåðíûé ôîðìàò äàòû è âðåìåíè(DD.MM.YYYY HH:MM)"; 27warnings["_number_"]="Íåâåðíûé ôîðìàò ÷èñëà"; 28warnings["_select_"]="Íå âûáðàíî ïîëå"; 29warnings["_radio_"]="Íå âûáðàíî ïîëå"; 30warnings["_alphastring_"]="Íåâåðíûé ôîðìàò(ñòðîêà èç ëàòèíñêèõ áóêâ)"; 31warnings["_login_"]="Íåâåðíûé ôîðìàò(ñòðîêà èç öèôð èëè ëàòèíñêèõ áóêâ áåç ïðîáåëîâ)"; 32//marhipov 33warnings["_nonemptyalt_"]="Íå çàïîëíåíî îáÿçàòåëüíîå ïîëå"; 34warnings["_checked_"]="Íå çàïîëíåíî îáÿçàòåëüíîå ïîëå"; 35warnings["_nonempchkgroup_"]="Íå çàïîëíåíî îáÿçàòåëüíîå ïîëå"; 36// 37warnings["_dirname_"]="Íåâåðíûé ôîðìàò íàçâàíèÿ äèðåêòîðèè (ñòðîêà èç ëàòèíñêèõ áóêâ áåç ïðîáåëîâ)"; 38 39var checked_fields=new Array(); 40var GetPrefixPos=0; 41var f; 42 43function CheckMandatoryFields(form) { 44 f=document.forms[form]; 45 var prefix; 46 var c; 47 var i; 48 var flag=true; 49 var element_name; 50 var item; 51 var form_length=f.elements.length; 52 53 for(c=0;c<form_length;c++) { 54 item=f.elements[c]; 55 element_name=item.name; 56 if(typeof element_name == "undefined") 57 { 58 element_name = ""; 59 } 60 while((prefix=getNextPrefix(element_name))!="" && !item.disabled) { 61 if(!(prefixes[prefix](item))) { 62 alert(warnings[prefix]); 63 // marhipov Ìîäèôèöèðîâàíî äëÿ óñòðàíåíèÿ îøèáêè ïðè îòïðàâêå ôîðìû ñî ñêðûòûìè ïîëÿìè 64 var digits=f.elements[c].name.match("\\d+$"); 65 if(!f.elements.check_form_langs) 66 f.elements[c].focus(); 67 else 68 { 69 if(f.elements.check_form_langs.value=="" || (!f.elements.check_form_langs.value.match("_"+digits+"_"))) 70 f.elements[c].focus(); 71 } 72 // 73 GetPrefixPos=0; 74 return false; 75 } 76 } 77 } 78 79 while(flag) { 80 flag=false; 81 for(c=0;c<form_length;c++) { 82 element_name=f.elements[c].name; 83 if(typeof element_name == "undefined") 84 { 85 element_name = ""; 86 } 87 for(prefix in prefixes) { 88 if(element_name.substring(0,prefix.length)==prefix) { 89 f.elements[c].name=element_name.substring(prefix.length,element_name.length); 90 flag=true; 91 } 92 } 93 } 94 } 95 createObject(); 96 return true; 97} 98 99function getNextPrefix(name) { 100 var prefix; 101 for(prefix in prefixes) { 102 if(name.substring(GetPrefixPos,GetPrefixPos+prefix.length)==prefix) { 103 GetPrefixPos+=prefix.length; 104 return prefix; 105 } 106 } 107 GetPrefixPos=0; 108 prefix=""; 109 return prefix; 110} 111 112//marhipov 113function validate_nonemptyalt(obj) { 114 var name=obj.name; 115 var new_name,i; 116 new_name='f'+name.match(/\d+a\d+$/); 117 for(i=0;i<f.elements.length;i++) 118 if(f.elements[i].name==new_name || f.elements[i].name=="_radio_"+new_name) 119 if(f.elements[i].value=='alt' && f.elements[i].checked=='1' && obj.value=='') 120 return false; 121 return true; 122} 123 124function validate_nonempchkgroup(obj){ 125 var anyonecheck = false; 126 var name=obj.name; 127 var new_name,i; 128 new_name='f'+name.match(/\d+a\d+$/); 129 console.log(obj); 130 for(i=0;i<f.elements.length;i++) 131 if(f.elements[i].name.indexOf(new_name) !== -1) 132 { 133 if(f.elements[i].checked=='1' || obj.value!='') 134 { 135 anyonecheck = true; 136 } 137 } 138 if(anyonecheck) 139 return true; 140 else 141 return false; 142} 143// 144function validate_checked(obj) 145{ 146 if(obj.checked) 147 return true; 148 else 149 return false; 150} 151function validate_email(obj) { 152 var i; 153 var val=obj.value; 154 var state=0; 155 if(val=="") return true; 156 157 var re; 158 re = /^[\w\.-]+@[\w\.-]+\.\w\w+$/; 159 if ( !obj.value.match(re) ) return false;
160 return true; 161} 162 163function validate_date(obj) { 164 var i,state=0; 165 var val=obj.value; 166 var dd="",mm="",yyyy=""; 167 if(val=="") return true; 168 for(i=0;i<val.length;i++) { 169 switch(state) { 170 case 0: 171 if(val.charAt(i)==".") state=1; 172 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 173 else dd+=val.charAt(i); 174 break; 175 case 1: 176 if(val.charAt(i)==".") state=2; 177 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 178 else mm+=val.charAt(i); 179 break; 180 case 2: 181 if("0123456789".indexOf(val.charAt(i))==-1) return false; 182 else yyyy+=val.charAt(i); 183 } 184 } 185 if(state!=2) return false; 186 if(isNaN(parseInt(dd)) || isNaN(parseInt(mm)) || isNaN(parseInt(yyyy))) return false; 187 if(dd.length != 2 || mm.length !=2 || yyyy.length != 4) return false; 188 if(parseInt(dd) < 0 || parseInt(mm) < 0 || parseInt(dd) > 31 || parseInt(mm) > 12) return false; 189 return true; 190} 191 192function validate_time(obj) { 193 var i,state=0; 194 var val=obj.value; 195 var hh="",mi=""; 196 if(val=="") return true; 197 for(i=0;i<val.length;i++) { 198 switch(state) { 199 case 0: 200 if(val.charAt(i)==":") state=1; 201 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 202 else hh+=val.charAt(i); 203 break; 204 case 1: 205 if("0123456789".indexOf(val.charAt(i))==-1) return false; 206 else mi+=val.charAt(i); 207 } 208 } 209 if(state!=1) return false; 210 if(isNaN(parseInt(hh)) || isNaN(parseInt(mi))) return false; 211//marhipov 212 if(hh.length != 2 || mi.length !=2) return false; 213// 214 if(parseInt(hh)>23 || parseInt(mi)<0 || parseInt(mi)>59 || parseInt(mi)<0) return false; 215 return true; 216} 217 218 219function validate_datetime(obj) { 220 var i,state=0; 221 var val=obj.value; 222 var dd="",mm="",yyyy="",hh="",mi=""; 223 if(val=="") return true; 224 for(i=0;i<val.length;i++) { 225 switch(state) { 226 case 0: 227 if(val.charAt(i)==".") state=1; 228 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 229 else dd+=val.charAt(i); 230 break; 231 case 1: 232 if(val.charAt(i)==".") state=2; 233 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 234 else mm+=val.charAt(i); 235 break; 236 case 2: 237 if(val.charAt(i)==" ") state=3; 238 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 239 else yyyy+=val.charAt(i); 240 break; 241 case 3: 242 if(val.charAt(i)==":") state=4; 243 else if("0123456789".indexOf(val.charAt(i))==-1) return false; 244 else hh+=val.charAt(i); 245 break; 246 case 4: 247 if("0123456789".indexOf(val.charAt(i))==-1) return false; 248 else mi+=val.charAt(i); 249 } 250 } 251 if(state!=4) return false; 252 253 if(isNaN(parseInt(dd)) || isNaN(parseInt(mm)) || isNaN(parseInt(yyyy))) return false; 254 if(parseInt(dd) < 0 || parseInt(mm) < 0 || parseInt(dd) > 31 || parseInt(mm) > 12) return false; 255 if(isNaN(parseInt(hh)) || isNaN(parseInt(mi))) return false; 256//marhipov 257 if(hh.length != 2 || mi.length !=2) return false; 258// 259 if(parseInt(hh)>23 || parseInt(mi)<0 || parseInt(mi)>59 || parseInt(mi)<0) return false; 260 return true; 261} 262 263function validate_nonempty(obj) { 264 var val=obj.value; 265 if(val.replace(/(^\s*)|(\s*$)/g, "")=="") return false; 266 return true; 267} 268 269function validate_number(obj) { 270//Èçìåíèÿ: èñïðàâëåí áàã ïðîâåðêè íà ÷èñëî 271//Äàòà èçìåíåíèÿ: 30.10.2003 17:51 272//Àâòîð: Àðõèïîâ Ìàêñèì è Õîëîäèé Àíäðåé 273 274 if (obj.value == "") return true; 275 var re; 276 re = /^-?\d+[\.,]?\d*$/; 277 if ( !obj.value.match(re) ) return false; 278 return true; 279} 280 281function validate_select(obj) { 282 var val=obj.options[obj.selectedIndex].value; 283 if(val==-1 || val=="") return false; 284 return true; 285} 286 287function validate_radio(obj) { 288 var obj_name=obj.name; 289 obj = f[obj.name]; 290 if(checked_fields[obj_name]==true){ 291 return true; 292 } 293 var status=false; 294 var obj_length=obj.length; 295 for (var i = 0;i<obj_length; i++){ 296 if (obj[i].checked){ 297 status=true; 298 } 299 } 300 if(status){ 301 checked_fields[obj_name]=true; 302 } 303 return status; 304} 305 306function validate_alphastring(obj) { 307 var val=obj.value; 308 for(i=0;i<val.length;i++) { 309 if(!is_alpha(val.charAt(i))&&!is_number(val.charAt(i))&&!is_addsymb(val.charAt(i))) return false; 310 } 311 return true; 312} 313 314function validate_login(obj) { 315 var val=obj.value; 316 for(i=0;i<val.length;i++) { 317 if(!val.match("^[\\w]+$")) return false;
318// if(!is_alnum2(val.charAt(i))) return false; 319 } 320 return true; 321} 322 323function validate_dirname(obj) { 324 var val=obj.value; 325 for(i=0;i<val.length;i++) { 326 if(!is_alnum2(val.charAt(i))) return false; 327 } 328 return true; 329} 330 331function is_alpha(c) { 332 if("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM".indexOf(c)!=-1) return true; 333 return false; 334} 335 336function is_number(c) { 337 if("0123456789".indexOf(c)!=-1) return true; 338 else return false; 339} 340 341function is_alnum(c) { 342 if(is_alpha(c) || is_number(c)) return true; 343 return false; 344} 345 346function is_alnum2(c) { 347 if(is_alnum(c) || c=="_" || c=="-" || c==".") return true; 348 return false; 349} 350 351function is_addsymb(c) { 352 if("_-\.\ ".indexOf(c)!=-1) return true; 353 else return false; 354}
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.