PageSourceSearch

https://www.mathnet.ru/js/func_string.js?v=8.7

js mathnet.ru collected 2026-09-24 08:44:40 UTC 10,622 bytes, 458 lines download raw bytes

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 &nbsp; 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,"'","&#39;");
226string=replace(string,'"',"&#34;");
227return(string);
228}
229
230function instandart_symbols(string){
231var newstring;
232string=replace(string,"&#39;","\'");
233string=replace(string,"&#34;","\"");
234string=replace(string,"&nbsp;"," ");
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.