Tôi có
var id="ctl03_Tabs1";
Sử dụng JavaScript, làm cách nào tôi có thể có được năm ký tự hoặc ký tự cuối cùng?
Tôi có
var id="ctl03_Tabs1";
Sử dụng JavaScript, làm cách nào tôi có thể có được năm ký tự hoặc ký tự cuối cùng?
Câu trả lời:
EDIT: Như những người khác đã chỉ ra, sử dụng slice(-5)
thay vì substr
. Tuy nhiên, xem .split().pop()
giải pháp ở dưới cùng của câu trả lời này cho một cách tiếp cận khác.
Câu trả lời gốc:
Bạn sẽ muốn sử dụng phương thức chuỗi Javascript .substr()
kết hợp với thuộc .length
tính.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Điều này nhận được các ký tự bắt đầu từ id.length - 5 và, vì đối số thứ hai cho .substr () bị bỏ qua, tiếp tục đến cuối chuỗi.
Bạn cũng có thể sử dụng .slice()
phương pháp như những người khác đã chỉ ra dưới đây.
Nếu bạn chỉ đơn giản là muốn tìm các ký tự sau dấu gạch dưới, bạn có thể sử dụng điều này:
var tabId = id.split("_").pop(); // => "Tabs1"
Điều này phân tách chuỗi thành một mảng trên dấu gạch dưới và sau đó "bật" phần tử cuối cùng ra khỏi mảng (đó là chuỗi bạn muốn).
.split().pop()
là một thành công lớn. Nếu đây là thứ bạn đang sử dụng trong một vòng lặp và hiệu suất là rất quan trọng, bạn sẽ muốn ghi nhớ điều này.
.split().pop()
vẫn là 5 triệu hoạt động mỗi giây. Đây không phải là vấn đề về hiệu năng cho đến khi nó là vấn đề về hiệu năng. ;)
slice
là một lựa chọn tốt hơn vào thời điểm này.
slice
hoặc substr
trên một số (int), trước tiên hãy chuyển đổi nó thành chuỗi. Ví dụ:myVar.toString().slice(-5)
Đừng sử dụng .substr()
. Sử dụng .slice()
phương pháp thay vì vì nó tương thích trình duyệt chéo (xem IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
tham khảo: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/
_Tabs15
gì? lát (-5) sẽ chỉ lấy abs15
? split / pop hoạt động tốt hơn nhiều cho các độ dài khác nhau ...
Bạn có thể sử dụng phương thức struct () với vị trí bắt đầu âm để lấy n ký tự cuối cùng. Ví dụ: điều này nhận được 5 cuối cùng:
var lastFiveChars = id.substr(-5);
Lấy ký tự cuối cùng thật dễ dàng, vì bạn có thể coi các chuỗi là một mảng:
var lastChar = id[id.length - 1];
Để có được một phần của một chuỗi, bạn có thể sử dụng substr chức năng hoặc các chuỗi chức năng:
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
Sự khác biệt giữa substr
và substring
là cách xử lý tham số thứ hai (tùy chọn). Trong substr
đó, đó là số lượng ký tự từ chỉ mục (tham số đầu tiên). Trong substring
đó, đó là chỉ số về nơi kết thúc cắt nhân vật.
Tập lệnh sau hiển thị kết quả để nhận 5 ký tự cuối cùng và 1 ký tự cuối cùng trong chuỗi bằng JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Đầu ra:
Tab1 // Có 5 ký tự
1 // Có 1 ký tự
Kiểm tra chức năng chuỗi con .
Để có được nhân vật cuối cùng:
id.substring(id.length - 1, id.length);
Không cần sử dụng substr
phương thức để có được một char của một chuỗi!
lấy ví dụ về Jamon Holmgren, chúng ta có thể thay đổi phương thức cơ bản và chỉ cần chỉ định vị trí mảng:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
Hàm Substr cho phép bạn sử dụng một dấu trừ để có được ký tự cuối cùng.
var string = "hello";
var last = string.substr(-1);
Nó rất linh hoạt. Ví dụ:
// 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"
Nếu bạn chỉ muốn ký tự cuối cùng hoặc bất kỳ ký tự nào ở vị trí biết, bạn có thể chỉ cần trat chuỗi dưới dạng một mảng! - các chuỗi được lặp lại trong javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Tuy nhiên, nếu bạn cần nhiều hơn chỉ một ký tự thì sử dụng mối nối có hiệu quả
x.slice(-5); //world
Về ví dụ của bạn
"rating_element-<?php echo $id?>"
Để giải nén id, bạn có thể dễ dàng sử dụng split + pop
Id= inputId.split('rating_element-')[1];
Điều này sẽ trả về id hoặc không xác định nếu không có id nào sau 'rating_element' :)
Giả sử bạn sẽ so sánh chuỗi con với kết thúc của chuỗi khác và sử dụng kết quả dưới dạng boolean, bạn có thể mở rộng lớp Chuỗi để thực hiện việc này:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Cho phép bạn làm như sau:
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);
Tôi tìm thấy câu hỏi này và qua một số nghiên cứu tôi thấy đây là cách dễ nhất để có được nhân vật cuối cùng.
Như những người khác đã đề cập và bổ sung cho đầy đủ để có được 5 cuối cùng:
var last5 = id.substr(-5);
Cái này sẽ xóa dấu phẩy nếu nó là ký tự cuối cùng trong chuỗi ..
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
Tôi thực sự có vấn đề sau đây và đây là cách tôi giải quyết nó bằng sự trợ giúp của câu trả lời ở trên nhưng cách tiếp cận khác nhau trong việc trích xuất id tạo thành một yếu tố đầu vào.
Tôi đã đính kèm đầu vào nộp với một
id="rating_element-<?php echo $id?>"
Và, khi nhấp vào nút đó, tôi muốn trích xuất id (là số) hoặc ID php ($ id) .
Vì vậy, đây là những gì tôi làm.
$('.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 cuối
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Cuối cùng
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
thành substr
. Điều đó charAt
có được thứ năm từ cuối cùng .
Tôi chắc chắn điều này sẽ làm việc ....
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
Giá trị của extension
sẽ là".pdf"