Phương thức substr() trong JavaScript
Trần Thị Vân
- 971
- 30/08/2025
Chức năng của Phương thức substr() trong JavaScript
Phương thức substr() trong JavaScript dùng để lấy số ký tự của một chuỗi để tạo ra một chuỗi mới mà không ảnh hưởng gì tới chuỗi gốc.
Cú pháp của Phương thức substr() trong JavaScript
chuoi.substr(vitribatdau,dodai);
vitribatdau: Ví trí bắt đầu cần lấy.
dodai: Số ký tự cần lấy.
Code Phương thức substr() trong JavaScript
<script>
var chuoigoc = "Web Mới xin chào quý khách";
// Bắt đầu từ vị trí thứ 4 lấy ra 3 ký tự
document.write("<b>Bắt đầu từ vị trí thứ 4 lấy ra 3 ký tự</b><br>");
var chuoimoi = chuoigoc.substr(4,3);
document.write(chuoimoi+"<br>");
// Bắt đầu từ vị trí thứ 0 lấy ra 3 ký tự
document.write("<b>Bắt đầu từ vị trí thứ 0 lấy ra 3 ký tự</b><br>");
var chuoimoihai = chuoigoc.substr(0,3);
document.write(chuoimoihai+"<br>");
</script>
Kết quả:
Bắt đầu từ vị trí thứ 4 lấy ra 3 ký tự
Mới
Bắt đầu từ vị trí thứ 0 lấy ra 3 ký tự
Web
Cách sử dụng substr() trong JavaScript hiệu quả
Phương thức substr() phù hợp khi cần trích xuất một phần chuỗi dựa trên vị trí bắt đầu và số lượng ký tự muốn lấy. Việc xác định rõ điểm bắt đầu và độ dài giúp kết quả ổn định, đặc biệt khi xử lý chuỗi có cấu trúc cố định.
Sử dụng substr() để lấy chuỗi từ vị trí xác định
Tham số đầu tiên xác định vị trí bắt đầu trích xuất, còn tham số thứ hai quy định số ký tự được lấy. Vị trí được tính từ 0, vì vậy ký tự đầu tiên luôn có chỉ số 0.
const text = "JavaScript";
const result = text.substr(4, 6);
console.log(result);
Trong ví dụ trên, quá trình trích xuất bắt đầu từ vị trí 4 và lấy tối đa 6 ký tự, nên kết quả là "Script". Cách này hữu ích khi đã biết trước vị trí và độ dài của phần dữ liệu cần lấy.
Sử dụng substr() khi không truyền tham số độ dài
Nếu chỉ cung cấp vị trí bắt đầu, substr() sẽ lấy phần còn lại của chuỗi kể từ vị trí đó. Cách sử dụng này thích hợp khi không cần xác định trước số ký tự cuối cùng.
const text = "WebMới";
const result = text.substr(3);
console.log(result);
Kết quả là phần chuỗi bắt đầu từ vị trí 3 cho đến hết. Điều này giúp rút gọn cách xử lý khi mục tiêu là bỏ một phần ký tự ở đầu chuỗi và giữ nguyên phần còn lại.
Xử lý vị trí bắt đầu âm với substr()
Một điểm đáng chú ý của substr() là vị trí bắt đầu có thể là số âm. Khi đó, JavaScript tính vị trí từ cuối chuỗi thay vì từ đầu. Giá trị càng nhỏ hơn 0 thì điểm bắt đầu càng lùi về phía cuối.
const text = "JavaScript";
const result = text.substr(-6, 6);
console.log(result);
Trong trường hợp này, quá trình lấy chuỗi bắt đầu từ 6 ký tự tính từ cuối và thu được "Script". Cách viết này thuận tiện khi cần lấy một phần dữ liệu ở cuối chuỗi mà không muốn tự tính chỉ số bắt đầu.
Phân biệt substr() với substring() và slice()
substr(), substring() và slice() đều có thể dùng để trích xuất một phần chuỗi nhưng cách diễn giải tham số không giống nhau. Với substr(), tham số thứ hai là số lượng ký tự cần lấy; trong khi substring() sử dụng tham số thứ hai làm vị trí kết thúc.
slice() cũng sử dụng vị trí bắt đầu và vị trí kết thúc, đồng thời hỗ trợ chỉ số âm theo cách riêng. Vì vậy, không nên thay thế máy móc một phương thức bằng phương thức khác nếu chưa kiểm tra cách tính tham số.
| Phương thức | Ý nghĩa tham số thứ hai | Hỗ trợ vị trí âm |
|---|---|---|
| substr() | Số lượng ký tự cần lấy | Có ở vị trí bắt đầu |
| substring() | Vị trí kết thúc | Không |
| slice() | Vị trí kết thúc | Có |
Trong mã JavaScript mới, nên ưu tiên các phương thức hiện đại như slice() thay vì tiếp tục xây dựng logic mới dựa trên substr(), bởi substr() đã được xem là phương thức lỗi thời. Tuy nhiên, khi gặp mã nguồn cũ, hiểu rõ quy tắc của substr() vẫn cần thiết để đọc, bảo trì và điều chỉnh chương trình chính xác.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức substr() trong JavaScript.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *