saya sudah
var id="ctl03_Tabs1";
Dengan menggunakan JavaScript, bagaimana saya bisa mendapatkan lima karakter terakhir atau karakter terakhir?
saya sudah
var id="ctl03_Tabs1";
Dengan menggunakan JavaScript, bagaimana saya bisa mendapatkan lima karakter terakhir atau karakter terakhir?
Jawaban:
EDIT: Seperti yang telah ditunjukkan orang lain, gunakan slice(-5)
sebagai ganti substr
. Namun, lihat .split().pop()
solusi di bagian bawah jawaban ini untuk pendekatan lain.
Jawaban asli:
Anda akan ingin menggunakan metode string Javascript yang .substr()
dikombinasikan dengan .length
properti.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Ini mendapatkan karakter mulai dari id.length - 5 dan, karena argumen kedua untuk .substr () dihilangkan, berlanjut ke akhir string.
Anda juga dapat menggunakan .slice()
metode ini seperti yang ditunjukkan orang lain di bawah ini.
Jika Anda hanya mencari untuk menemukan karakter setelah garis bawah, Anda dapat menggunakan ini:
var tabId = id.split("_").pop(); // => "Tabs1"
Ini membagi string menjadi array pada garis bawah dan kemudian "muncul" elemen terakhir dari array (yang merupakan string yang Anda inginkan).
.split().pop()
adalah hit kinerja besar. Jika ini adalah sesuatu yang Anda gunakan dalam satu lingkaran dan kinerja sangat penting, Anda harus selalu mengingatnya.
.split().pop()
masih 5 juta operasi per detik. Ini bukan masalah kinerja sampai masalah kinerja. ;)
slice
ini adalah pilihan yang lebih baik pada saat ini.
slice
atau substr
pada nomor (int), konversikan ke string terlebih dahulu. MisalnyamyVar.toString().slice(-5)
Jangan gunakan .substr()
. Gunakan .slice()
metode ini sebagai gantinya karena ini kompatibel lintas browser (lihat IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
referensi: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15
? slice (-5) hanya akan ambil abs15
? split / pop bekerja jauh lebih baik untuk panjang yang bervariasi ...
Anda dapat menggunakan metode substr () dengan posisi awal negatif untuk mengambil n karakter terakhir. Misalnya, ini mendapatkan 5 terakhir:
var lastFiveChars = id.substr(-5);
Mendapatkan karakter terakhir itu mudah, karena Anda dapat memperlakukan string sebagai array:
var lastChar = id[id.length - 1];
Untuk mendapatkan bagian dari string, Anda dapat menggunakan substr fungsi atau substring fungsi:
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
Perbedaan antara substr
dan substring
bagaimana parameter kedua (opsional) diperlakukan. Di substr
, itu jumlah karakter dari indeks (parameter pertama). Di substring
, itu adalah indeks di mana karakter mengiris harus berakhir
Script berikut menunjukkan hasil untuk mendapatkan 5 karakter terakhir dan 1 karakter terakhir dalam sebuah string menggunakan JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Keluaran:
Tab1 // Mendapat 5 karakter
1 // Punya 1 karakter
Periksa fungsi substring .
Untuk mendapatkan karakter terakhir:
id.substring(id.length - 1, id.length);
Tidak perlu menggunakan substr
metode untuk mendapatkan satu karakter string!
mengambil contoh Jamon Holmgren kita dapat mengubah metode substr dan cukup tentukan posisi array:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
Fungsi Substr memungkinkan Anda untuk menggunakan minus untuk mendapatkan karakter terakhir.
var string = "hello";
var last = string.substr(-1);
Ini sangat fleksibel. Sebagai contoh:
// 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"
Jika Anda hanya ingin karakter terakhir atau karakter apa pun pada posisi tahu, Anda dapat menggunakan string sebagai array! - string dapat diulang dalam javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Namun jika Anda membutuhkan lebih dari satu karakter, gunakan splice efektif
x.slice(-5); //world
Mengenai contoh Anda
"rating_element-<?php echo $id?>"
Untuk mengekstrak id Anda dapat dengan mudah menggunakan split + pop
Id= inputId.split('rating_element-')[1];
Ini akan mengembalikan id, atau tidak terdefinisi jika tidak ada id setelah 'rating_element' :)
Dengan asumsi Anda akan membandingkan substring dengan ujung string lain dan menggunakan hasilnya sebagai boolean Anda dapat memperluas kelas String untuk mencapai ini:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Mengizinkan Anda melakukan hal berikut:
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
Saya menemukan pertanyaan ini dan melalui beberapa penelitian saya menemukan ini menjadi cara termudah untuk mendapatkan karakter terakhir.
Seperti yang disebutkan orang lain dan ditambahkan untuk kelengkapan untuk mendapatkan 5 terakhir:
var last5 = id.substr(-5);
Yang ini akan menghapus koma jika itu adalah karakter terakhir dalam string ..
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
Saya benar-benar memiliki masalah berikut dan ini bagaimana saya menyelesaikannya dengan bantuan jawaban di atas tetapi pendekatan yang berbeda dalam mengekstraksi id membentuk elemen input.
Saya telah melampirkan input yang diajukan ke
id="rating_element-<?php echo $id?>"
Dan, ketika tombol itu diklik saya ingin mengekstrak id (yang merupakan nomor) atau hanya php ID ($ id) .
Jadi di sini apa yang saya lakukan.
$('.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
});
5 terakhir
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Terakhir
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
ke substr
. Itu charAt
mendapat yang kelima dari terakhir .
Saya yakin ini akan berhasil ....
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
Nilai extension
akan".pdf"