Как получить последние символы строки с помощью JavaScript

Я

var id="ctl03_Tabs1";

используя JavaScript, как я могу получить последние пять символов или последний символ?

14 ответов


вы захотите использовать метод строки Javascript .substr() в сочетании с .length собственность.

var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"

Это получает символы, начинающиеся с id.длина-5 а, так как второй аргумент за .функцию substr() опущен, продолжается до конца строки.

вы также можете использовать .slice() метод, как уже упоминалось ниже.

если вы просто хотите найти символы после подчеркивания, вы можете использовать это:

var tabId = id.split("_").pop(); // => "Tabs1"

Это разбивает строку на массив в подчеркивании, а затем "всплывает" последний элемент из массива (это строка, которую вы хотите).


не используйте .substr(). Используйте .slice() метод вместо этого, потому что он совместим с кросс-браузером (см. IE).

var id = "ctl03_Tabs1";
id.slice(-5); //Outputs: Tabs1
id.slice(-1); //Outputs: 1

substr () с отрицательным значением не работает в IE


получить последний символ легко, так как вы можете рассматривать строки как массив:

var lastChar = id[id.length - 1];

чтобы получить часть строки, вы можете использовать substr


можно использовать метод substr () с отрицательной начальной позицией для извлечения последних N символов. Например, это получает последние 5:

var lastFiveChars = id.substr(-5);

следующий скрипт показывает результат для получения последних 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 символ


Проверьте функции substring.

чтобы получить последний символ:

id.substring(id.length - 1, id.length);

нет необходимости использовать substr метод для получения одного символа строки!

на примере 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

если вы просто хотите последний символ или любой символ в позиции знать, вы можете просто трат строку в виде массива! - строки iteratorable в JavaScript -

Var x = "hello_world";
 x[0];                    //h
 x[x.length-1];   //d

но если вам нужно больше, чем просто один символ, то используйте соединение эффективно

x.slice(-5);      //world

по вашему примеру

"rating_element-<?php echo $id?>"

для извлечения id вы можете легко использовать split + pop

Id= inputId.split('rating_element-')[1];

это вернет идентификатор или не определено, если идентификатор не был после "rating_element" :)


этот удалит запятую, если это последний символ в строке..

var str = $("#ControlId").val();

if(str.substring(str.length-1)==',') {

  var stringWithoutLastComma = str.substring(0,str.length-1);    

}

у меня на самом деле есть следующая проблема, и это, как я решил ее с помощью вышеуказанного ответа, но другой подход к извлечению id образуют входной элемент.

Я приложил входные данные, поданные с

id="rating_element-<?php echo $id?>"

и, когда эта кнопка нажата, я хочу извлечь id (который является номером) или php ID ($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);

один из способов, используя slice, как следовать:

var id="ctl03_Tabs1";
var temp=id.slice(-5);

так что значение temp будет "Tabs1".


Я уверен, что это сработает....

var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)

значение extension будет ".pdf"