| 
	
		
 как получить substr в обратную сторону ? 
		
		
		
		у меня есть текст и мне нужно получить его кусок , но я знаю позицию конца куска и его размер. как бы мне его получить. 
	вот типа такого text = '123456789'; alert(text.substr(4, 3)); чтоб вывод был не 567 , а 345 .  | 
	
		
  | 
	
		
 text.substr(4-3, 3)=) Цитата: 
	
  | 
	
		
 поиск по форуму работает и гугл тоже 
	http://javascript.ru/forum/study/216...ut-stroku.html Да , потом вчитался в то что он хочет, хоть слова бы правильные использовал -получить участок строки , но уж точно не получить в обратную сторону Цитата: 
	
  | 
	
		
 Получаем подстроку предшествующую  данной (той же длины) , 
	Первый символ искомой подстроки и последний текущей, входят в обе последовательности 
<script type="text/javascript">
text = '123456789';
function PreSubStr(text,st0,Sublen){
   alert('Исходная : \n\n'+text.substr(st0, Sublen));
   var start = 1 + st0 - Sublen; 
   if(start < 1-Sublen) return false;
   if(start < 0)   return text.substr(0, 1 + st0 )
   return text.substr(start,Sublen);
} alert('Искомое: \n\n'+PreSubStr(text,4,3))
</script>
<script type="text/javascript">
text = '123456789';
function PreSubStr(text,st0,Sublen){
   alert('Исходная : \n\n'+text.substr(st0, Sublen));
   var start = 1 + st0 - Sublen; 
   if(start < 1-Sublen) return false;
   if(start < 0)  return text.substr(0, 1 + st0 );
   return text.substr(start,Sublen);
} alert('Искомое: \n\n'+PreSubStr(text,1,3))
</script>
 | 
	
		
 Лол, получается я тоже его не понял.=) 
	Ну тогда так(зачем лишний раз вычислять длину?): 
String.prototype.rsubstr = function( pos , len){
    return this.slice(-pos - len, -pos)
} 
text = '123456789';
alert(text.substr(4, 3));
alert(text.rsubstr(4,3))
 | 
	
		
 Aetae, 
	Да мну собственно максимум усилий на формулировку - код правил - как удалось выразить мысля  | 
	
		
 Зачем поправиль, слющай, а? 
	Был же рабочий вариант, а сейчас просто подоогнанный под задачу: 
text = '123456789';
function PreSubStr(text,st0,Sublen){
 
   var start = 1 + st0 - Sublen;
   if(start < 0) return false;
   return text.substr(start,Sublen);
 
} 
alert('Должно быть: 567 \n\nРезультат: '+PreSubStr(text,2,3))
 | 
	
		
 Хм...  
	Тогда имхо моя формулировка не верна ? Прост если подстрока к началу ближе её длины - то полного(а иногда и частичного результата - не вернуть) поставил false ==================================== Исправил возврат, если в наличии хоть кусок подстроки от начала  | 
	
		
 а чем substring не угодил? у него же параметры 
	string.substring(from, to)в отличии от: string.substr(from, length) то есть простое: var text = '123456789'; var startAt = 4; // откуда начать var count = 3; // скока вырезать alert(text.substring( startAt + 1, startAt - count + 1 ));  | 
| Часовой пояс GMT +3, время: 04:12. | 
		
  |