1function strToLower(formElement,edit_disabled){ 2 if(edit_disabled=='disabled'){return;} 3 eval('string='+formElement); 4 fletter=string.substring(0,1); 5 string=string.substring(1); 6 string=string.toLowerCase(); 7 string=fletter+string; 8 eval(formElement+'=string'); 9} 10 11function strRemEnters(formElement,edit_disabled){ 12 if(edit_disabled=='disabled'){return;} 13 eval('string='+formElement); 14 string=string.replace(/\s+/g,' '); 15 eval(formElement+'=string'); 16} 17 18function CheckIP(string){ 19 if(string.match(/^[0-9]+\.[-0-9]+\.[-*0-9]+\.[-*0-9]+$/)==null){ 20 alert('Íåâåðíûé IP àäðåñ!'); 21 return(false); 22 } 23 return(true); 24} 25 26 27 28function getRadioValue(eItem){ 29 var tWOS; 30 31 if(!eItem){return tWOS;} 32 33 L=eItem.length; 34 if(L==undefined){ 35 if(eItem.checked){ 36 tWOS=eItem.value; 37 } 38 return tWOS; 39 } 40 41 for(n=0;n<L;n++){ 42 tRadio=eItem[n]; 43 if(tRadio.checked){ 44 tWOS=tRadio.value; 45 break; 46 } 47 } 48 return(tWOS); 49} 50 51 52function setRadioValue(eItem,value){ 53 for(n=0;n<eItem.length;n++){ 54 tRadio=eItem[n]; 55 if(tRadio.value==value){ 56 tRadio.checked=true; 57 break; 58 } 59 } 60} 61 62 63function getSelectValue(eItem){ 64 var tWOS=false; 65 if(!eItem){return false;} 66 for(n=0;n<eItem.length;n++){ 67 tSelect=eItem[n]; 68 if(tSelect.selected){ 69 var tWOS=tSelect.value; 70 break; 71 } 72 } 73 return(tWOS); 74} 75 76 77function setSelectValue(eItem,value){ 78 if(!eItem){return false;} 79 for(n=0;n<eItem.length;n++){ 80 tSelect=eItem[n]; 81 //alert(tSelect.value); 82 if(tSelect.value==value){ 83 tSelect.selected=true; 84 break; 85 } 86 } 87} 88 89 90function calculate(string,symbol){ 91if((symbol=='') || !(symbol)){return(0);} 92if((string=='') || !(string)){return(0);} 93var i; 94var N=0; 95 96while(i != -1){ 97i=string.indexOf(symbol); 98string=string.substr(i+symbol.length); 99N++;} 100N=N-1; 101return(N); 102} 103 104function CheckPairedTags(string,oTag,cTag,area){ 105NoTag=calculate(string,oTag); 106NcTag=calculate(string,cTag); 107if(NoTag!=NcTag){ 108 alert(oTag+'-'+cTag+' tags in '+area+' are not paired!'); 109 return(false); 110} 111return(true); 112} 113 114// Regular Expression for E-mail checking (to use in fsubmit() function) 115//var regEmail=/^(\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.(cat|com|edu|net|org|gov|mil|[a-z][a-z]|info|institute|university|aero))(\s*[,;]{1,1}\s*\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.(cat|com|edu|net|org|gov|mil|[a-z][a-z]|info|aero))*$/i; 116//var regEmailNames=/^[-a-zA-Z¸¨à-ÿÀ-ß.\s]*<?(\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,10}[,; ]?)+>?$/i; 117var regEmail=/^(\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,10})(\s*[,;]{1,1}\s*\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,10})*$/i; 118var regEmailNames=/^[-a-zA-Z¸¨à-ÿÀ-ß.\s]*<?(\w[-.\w]*\@[-a-z0-9]+(\.[-a-z0-9]+)*\.([a-z]{2,10})[,; ]?)+>?$/i; 119//var regWWW=/^(http:\/\/)?([-\w]+\.)+(cat|com|edu|net|org|gov|[a-z][a-z]|info)([/~][-\w.]+)*$/i; 120var regWWW=/^(https?:\/\/)?([-\w]+\.)+([a-z]{2,10})/i; 121// Regular Expression for Numbers checking (to use in fsubmit() function) 122var regNumbers=/^[-+\d.() ,;]+$/i; 123var regPhone=/^[-+a-zà-ÿ\d.() ,;*]+$/i; 124var regString=/^[-_0-9A-ZÀ-ßà-ÿ %@():;,.¸¨#&{}:~\/\]\['?]+$/i; 125var regYears=/^\d{4,4}$/i; 126var regVols=/^\d{1,5}$/i; 127var regIssues=/^\d{1,3}$/i; 128var regPages=/^-?\d{1,10}$/i; 129var regLogin=/^[-_0-9a-zA-Z@.]+$/; 130var regPersonName=/^[-a-zA-Zà-ÿÀ-߸¨ ]{2,}$/; 131var regPersonFSName=/^[-a-zA-Zà-ÿÀ-߸¨ ]+\.?$/; 132var regJRNID=/^[_a-z0-9]{2,5}$/; 133var regFileName=/^[-0-9a-z_.]+$/i; 134var regRangeNumbers=/^[-0-9]+$/; 135var regDOI=/10\.[0-9]{4,9}\/.{1,200}/; 136var regORCID=/^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[X0-9]{1}$/; 137 138function CheckStringReg(string,regVar,area){ 139string=trim(string); 140if(string!=''){ 141 if(string.match(regVar)==null){ 142 alert('Íåäîïóñòèìîå çíà÷åíèå ïîëÿ '+area); 143 return(false); 144 } 145} 146return(true); 147} 148 149function CheckIllegalSymbols(string,area){ 150 return CheckStringReg(string,regString,area); 151} 152 153 154 155 156function CheckLowLetters(string,area){ 157PERMITTEDSYMBOLS='qwertyuiopasdfghjklzxcvbnm'; 158for(i=0;i<string.length;i++){ 159y=i+1; 160sym=string.substring(i,y); 161if(PERMITTEDSYMBOLS.indexOf(sym,0) == -1){ 162 alert('Illegal symbol ['+sym+'] in '+area+'!'); 163 return(false); 164} 165} 166return(true); 167} 168 169 170function CheckForWrongSymbols(string,area){ 171 maxcode=255; 172 for(i=0;i<string.length;i++){ 173 y=i+1;
174 sym=string.substring(i,y); 175 //alert(sym.charCodeAt(0)); 176 //if(sym.charCodeAt(0) > maxcode){ 177 // alert('Illegal symbol ['+sym+'] in '+area+'!'); 178 // return(false); 179 //} 180 } 181 return(true); 182} 183 184 185 186 187 188 189 190function GlobalStringChange(string){ 191string=standart_tags(string); 192return(string); 193} 194 195function GlobalStringCheck(string,area){ 196if(!CheckAllTags(string,area)){return(false);} 197if(!CheckPairedTags(string,'<sub>','</sub>',area)){return(false);} 198if(!CheckPairedTags(string,'<sup>','</sup>',area)){return(false);} 199if(!CheckPairedTags(string,'<i>','</i>',area)){return(false);} 200if(!CheckPairedTags(string,'<b>','</b>',area)){return(false);} 201if(!CheckPairedTags(string,'<bo>','</bo>',area)){return(false);} 202if(!CheckPairedTags(string,'<ol>','</ol>',area)){return(false);} 203if(!CheckPairedTags(string,'<ul>','</ul>',area)){return(false);} 204if(!CheckPairedTags(string,'<u>','</u>',area)){return(false);} 205if(!CheckPairedTags(string,'<s>','</s>',area)){return(false);} 206if(!CheckPairedTags(string,'<nobr>','</nobr>',area)){return(false);} 207if(!CheckPairedTags(string,'[IMG]','[/IMG]',area)){return(false);} 208//if(!CheckIllegalSymbols(string,area)){return(false);} 209//if(!CheckAllSGMLs(string,area)){return(false);} // check etc... !!! 210return(true); 211} 212 213function SimpleStringChange(string){ 214string=standart_symbols(string); 215return(string); 216} 217 218function SimpleStringCheck(string,area){ 219if(!CheckIllegalSymbols(string,area)){return(false);} 220return(true); 221} 222 223function standart_symbols(string){ 224var newstring; 225string=replace(string,"'","'"); 226string=replace(string,'"',"""); 227return(string); 228} 229 230function instandart_symbols(string){ 231var newstring; 232string=replace(string,"'","\'"); 233string=replace(string,""","\""); 234string=replace(string," "," "); 235return(string); 236} 237 238 239 240function standart_tags(string){ 241var str_b='<'; 242var str_e='>'; 243 244var newstring=''; 245var i,y; 246 247i=string.indexOf(str_b); 248while(i != -1 && y != -1){ 249str1=string.substr(0,i); 250string=string.substr(i); 251y=string.indexOf(str_e); 252str2=string.substr(0,y).toLowerCase(); 253string=string.substr(y); 254newstring+=str1+str2; 255i=string.indexOf(str_b); 256} 257newstring+=string.substr(0); 258return(newstring); 259} 260 261 262 263 264 265function replace(string,text_old,text_new){ 266var newstring=''; 267if((string=='') || !(string)){return('');} 268if((text_old=='') || !(text_old)){return(string);} 269 270i=string.indexOf(text_old); 271while(i != -1){ 272newstring+=string.substr(0,i)+text_new; 273string=string.substr(i+text_old.length); 274i=string.indexOf(text_old); 275} 276newstring+=string.substr(0); 277 278return(newstring); 279} 280 281function explode(separator,string){ 282var arr=new Array(); 283 284i=string.indexOf(separator); 285j=0; 286while(i != -1){ 287arr[j]=string.substr(0,i); 288string=string.substr(i+separator.length); 289i=string.indexOf(separator); 290j++; 291} 292arr[j]=string.substr(0); 293return(arr); 294} 295 296 297function trim(area){ 298while(area.indexOf(' ',0)==0){ 299nlen=area.length-1; 300area=area.substr(1,nlen); 301} 302 303nlen=area.length-1; 304if(nlen>=0){ 305while(area.lastIndexOf(' ',nlen)==nlen){ 306nlen=area.length-1; 307area=area.substr(0,nlen); 308nlen=area.length-1; 309} 310} 311 312return(area); 313} 314 315 316function basename(string,excludeExt){ 317lastPos=string.lastIndexOf('\\'); 318string=string.substring(lastPos+1,string.length-excludeExt.length); 319return string;} 320 321 322function getFileExtention(string){ 323 string=string.toLowerCase(); 324 lastPos=string.lastIndexOf('.'); 325 string=string.substring(lastPos+1); 326 return string; 327} 328 329 330function in_array(STR,ARR){ 331for(ss=0;ss<ARR.length;ss++){if(STR==ARR[ss]){return(true);}} 332return(false); 333} 334 335 336 var MAX_SGML_LENGTH=30; // maximal length of legal expressions 337 338 339 function CheckSGML(checkString,area){ 340 // !!!! sgmlSym does not contain all symbols !!!!! 341 if(checkString.charAt(0)!='&'){return(true);} 342 if(!in_array(checkString,sgmlSym)){alert('Illegal expression ['+checkString+'] in '+area+'!');return(false);} 343 return(true); 344 } 345 346 function CheckAllSGMLs(mystring,area){ 347 var sgmlstr=''; 348 var activ=0; 349 for(i=0;i<mystring.length;i++){ 350 y=i+1;
351 sym=mystring.substring(i,y); 352 if(sym!='&' && activ==0){continue;} 353 activ=1; 354 if(sym!=';' && sgmlstr.length<MAX_SGML_LENGTH){sgmlstr=sgmlstr+sym;continue;} 355 sgmlstr=sgmlstr+sym; 356 if(!CheckSGML(sgmlstr,area)){return(false);} 357 activ=0; 358 sgmlstr=''; 359 } 360 if(!CheckSGML(sgmlstr,area)){return(false);} 361 return(true); 362 } 363 364 365 function CheckTag(checkTagString,area){ 366 if(checkTagString.charAt(0)!='<'){return(true);} 367 var arrTag=new Array(); 368 arrTag[0]='<sub>'; 369 arrTag[1]='</sub>'; 370 arrTag[2]='<i>'; 371 arrTag[3]='</i>'; 372 arrTag[4]='<b>'; 373 arrTag[5]='</b>'; 374 arrTag[6]='<bo>'; 375 arrTag[7]='</bo>'; 376 arrTag[8]='<ol>'; 377 arrTag[9]='</ol>'; 378 arrTag[10]='<ul>'; 379 arrTag[11]='</ul>'; 380 arrTag[12]='<br>'; 381 arrTag[13]='<li>'; 382 arrTag[14]='<nobr>'; 383 arrTag[15]='<p>'; 384 arrTag[16]='</p>'; 385 arrTag[17]='<s>'; 386 arrTag[18]='</s>'; 387 arrTag[19]='<u>'; 388 arrTag[20]='</u>'; 389 arrTag[21]='<sup>'; 390 arrTag[22]='</sup>'; 391 arrTag[23]='</font>'; 392 arrTag[24]='</nobr>'; 393 arrTag[25]="<font size=-1>"; 394 arrTag[26]="<font face='times new roman'>"; 395 arrTag[27]="<font face='Times New Roman'>"; 396 arrTag[28]="<font face=Symbol>"; 397 arrTag[29]="<font face=symbol>"; 398 if(!in_array(checkTagString,arrTag)){alert('Illegal expression ['+checkTagString+'] in '+area+'!');return(false);} 399 return(true); 400 } 401 402 403 function CheckAllTags(Tstring,area){ 404 var tagstr=''; 405 var activ=0; 406 for(i=0;i<Tstring.length;i++){ 407 y=i+1;
408 sym=Tstring.substring(i,y); 409 if(sym!='<' && activ==0){continue;} 410 activ=1; 411 if(sym!='>' && tagstr.length<MAX_SGML_LENGTH){tagstr=tagstr+sym;continue;} 412 tagstr=tagstr+sym; 413 if(!CheckTag(tagstr,area)){return(false);} 414 activ=0; 415 tagstr=''; 416 } 417 if(!CheckTag(tagstr,area)){return(false);} 418 return(true); 419 } 420 421 function string_prepare_to_search(string){ 422 string=replace(string,'¸','å'); 423 string=replace(string,"'",''); 424 return string; 425 } 426 427 428 429 function encode_email(email, text, tpl) { 430 var t = tpl.replace(/{e}/g, email); 431 var a = t.replace(/{text}/g, text); 432 433 t = ''; 434 for (i = 0; i < a.length; i++) { 435 if (a.charCodeAt(i) <= 127) { 436 t += (String.fromCharCode(Math.floor(a.charCodeAt(i) / 16) + 65)) 437 t += (String.fromCharCode(a.charCodeAt(i) % 16 + 65)); 438 } 439 else { 440 t += a.charAt(i); 441 } 442 } 443 return t; 444 } 445 446 447 function decode_email(a) { 448 var t = ''; 449 for (i = 0; i < a.length; i++) { 450 if (a.charCodeAt(i) <= 127) { 451 t += String.fromCharCode((a.charCodeAt(i) - 65) * 16 + (a.charCodeAt(++i) - 65)) 452 } 453 else { 454 t += a.charAt(i); 455 } 456 } 457 return t; 458 }
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.