У меня
var id="ctl03_Tabs1";
Использование JavaScript, как я могу получить последние пять символов или последний символ?
У меня
var id="ctl03_Tabs1";
Использование JavaScript, как я могу получить последние пять символов или последний символ?
ОБНОВЛЕНИЕ: Как уже отмечали другие, используйте slice(-5) вместо substr. Однако см. решение .split().pop() внизу этого ответа для другого подхода.
Оригинальный ответ:
Вы захотите использовать строковый метод Javascript .substr() в сочетании со свойством .length.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Это получает символы, начинающиеся с id.length - 5, и, поскольку второй аргумент для .substr() опущен, продолжается до конца строки.
Вы также можете использовать метод .slice(), как другие указали ниже.
Если вы просто хотите найти символы после подчеркивания, вы можете использовать это:
var tabId = id.split("_").pop(); // => "Tabs1"
Это разбивает строку на массив в нижнем подчеркивании, а затем "выталкивает" последний элемент из массива (это строка, которую вы хотите).
Не используйте .substr(). Вместо этого используйте метод .slice(), поскольку он совместим с разными браузерами (см. IE).
var id = "ctl03_Tabs1";
id.slice(id.length -5); //Outputs: Tabs1
id.slice(id.length -1); //Outputs: 1
Получить последний символ легко, так как вы можете рассматривать строки как массив:
var lastChar = id[id.length - 1];
Чтобы получить фрагмент строки, вы можете использовать функцию substr или функцию подстроки :
id.substr(id.length - 1); //get the last character
id.substr(2);             //get the characters from the 3rd character on
id.substr(2, 1);          //get the 3rd character
id.substr(2, 2);          //get the 3rd and 4th characters
Разница между substr и substring заключается в том, как обрабатывается второй (необязательный) параметр. В substr это количество символов из индекса (первый параметр). В substring это индекс того, где должна заканчиваться нарезка символов.
Вы можете использовать метод substr() с отрицательной исходной позицией для извлечения последних n символов. Например, это получает последние 5:
var lastFiveChars = id.substr(-5);
После script показан результат для получения последних 5 символов и последнего 1 символа в строке с использованием JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Выход:
Tabs1//Получает 5 символов
1//Получен 1 символ
Ознакомьтесь с функцией подстроки.
Чтобы получить последний символ:
id.substring(id.length - 1, id.length);
Нет необходимости использовать метод substr для получения единственного char строки!
на примере Jamon Holmgren мы можем изменить метод substr и просто указать положение массива:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
Предполагая, что вы сравните подстроку с концом другой строки и используете результат как логическое, вы можете расширить класс String, чтобы выполнить это:
String.prototype.endsWith = function (substring) {
  if(substring.length > this.length) return false;
  return this.substr(this.length - substring.length) === substring;
};
Позволяет вам выполнить следующее:
var aSentenceToPonder = "This sentence ends with toad"; 
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
Если вы просто хотите, чтобы последний символ или какой-либо символ находились в известной позиции, вы можете просто передать строку в виде массива! - строки итерации в javascript -
Var x = "hello_world";
 x[0];                    //h
 x[x.length-1];   //d
Однако, если вам нужно больше, чем один символ, используйте эффективную комбинацию
x.slice(-5);      //world
Что касается вашего примера
"rating_element-<?php echo $id?>"
Чтобы извлечь идентификатор, вы можете легко использовать split + pop
Id= inputId.split('rating_element-')[1];
Это вернет идентификатор или undefined, если после "rating_element" идентификатор не был указан, :)
Одним из способов было бы использовать slice, например:
var id="ctl03_Tabs1";
var temp=id.slice(-5);
поэтому значение temp будет "Tabs1".
Этот будет удалять запятую, если это последний символ в строке.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
  var stringWithoutLastComma = str.substring(0,str.length-1);    
}
У меня на самом деле есть следующая проблема, и это, как я решил ее с помощью вышеупомянутого ответа, но другой подход при извлечении идентификатора формирует входной элемент.
Я добавил входной файл с
id="rating_element-<?php echo $id?>"
И, когда эта кнопка нажата, я хочу извлечь идентификатор (который является номером) или только идентификатор php ($ id).
Итак, вот что я делаю.
 $('.rating').on('rating.change', function() {
            alert($(this).val());
           // console.log(this.id);
           var static_id_text=("rating_element-").length;       
           var product_id =  this.id.slice(static_id_text);       //get the length in order to deduct from the whole string    
          console.log(product_id );//outputs the last id appended
        });
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
Я нашел этот вопрос, и в ходе некоторых исследований я обнаружил, что это самый простой способ получить последнего персонажа.
Как уже упоминалось и добавлено для полноты, чтобы получить последние 5:
var last5 = id.substr(-5);
Функция Substr позволяет использовать минус для получения последнего символа.
var string = "hello";
var last = string.substr(-1);
Это очень гибкий. Например:
// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
Последние 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);Я уверен, что это будет работать....
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
Значение extension будет ".pdf"