Phương thức substring() trong JavaScript
Trần Thị Vân
- 982
- 31/08/2025
Chức năng của Phương thức substring() trong JavaScript
Phương thức substring() trong JavaScript dùng để lấy một chuỗi con từ một chuỗi gốc để tạo nên một chuỗi mới mà không làm thay đổi chuỗi gốc.
Cú pháp của Phương thức substring() trong JavaScript
Ví trí băt đầu ở trước
Nếu vị trí ở trước nhỏ hơn thì sẽ là vị trí bắt đầu:
var chuoimoi = chuoigoc.substring(vitribatdau,vitriketthuc);
chuoigoc: Chuỗi gốc dùng để thực hiện substring() mà không làm thay đổi chuỗi gốc.
chuoimoi: Chuỗi mới lấy kết quả trả về .
vitribatdau: vị trí bắt đầu để lấy ký tự.
vitriketthuc: vị trí kết thúc để lấy ký tự, tới vị trí kết thúc thì sẽ kết thúc và chỉ lấy tới vị trí kết thúc trừ 1.
Ví trí băt đầu ở sau
Nếu vị trí ở trước lớn hơn thì sẽ là vị trí kết thúc:
var chuoimoi = chuoigoc.substring(vitriketthuc,vitribatdau);
chuoigoc: Chuỗi gốc dùng để thực hiện substring() mà không làm thay đổi chuỗi gốc.
chuoimoi: Chuỗi mới lấy kết quả trả về .
vitribatdau: vị trí bắt đầu để lấy ký tự.
vitriketthuc: vị trí kết thúc để lấy ký tự, tới vị trí kết thúc thì sẽ kết thúc và chỉ lấy tới vị trí kết thúc trừ 1.
Chỉ có 1 vị trí bắt đầu
var chuoimoi = chuoigoc.substring(vitribatdau);
vitribatdau : vị trí bắt đầu tới cuối chuỗi để lấy ký tự.
chuoigoc: Chuỗi gốc dùng để thực hiện substring() mà không làm thay đổi chuỗi gốc.
chuoimoi: Chuỗi mới lấy kết quả trả về .
Code Phương thức substring() trong JavaScript
<script>
var chuoigoc = "Web Mới xin chào quý khách";
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
document.write("<b>// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10</b><br>");
var chuoimot = chuoigoc.substring(8,11); // Kết quả: xin
document.write(chuoimot +"<br>");
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
document.write("<b>// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10</b><br>");
var chuoihai = chuoigoc.substring(11,8); // Kết quả: xin
document.write(chuoihai +"<br>");
// Lấy chuỗi từ vị trí thứ 8 tới cuối chuỗi
document.write("<b>// Lấy chuỗi từ vị trí thứ 8 tới cuối chuỗi</b><br>");
var chuoiba = chuoigoc.substring(8); // Kết quả: xin chào quý khách
document.write(chuoiba +"<br>");
</script>
Kết quả:
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
xin
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
xin
// Lấy chuỗi từ vị trí thứ 8 tới cuối chuỗi
xin chào quý khách
Những lưu ý khi sử dụng substring() trong JavaScript
substring() khá đơn giản khi sử dụng, nhưng một vài quy tắc về vị trí ký tự và cách xử lý tham số có thể khiến kết quả khác với dự kiến. Nắm rõ những điểm này sẽ giúp bạn chọn đúng cách cắt chuỗi và tránh lỗi khi xử lý dữ liệu.
substring() xử lý vị trí bắt đầu và kết thúc như thế nào?
Phương thức substring() nhận hai vị trí để xác định đoạn chuỗi cần lấy. Vị trí đầu tiên được tính từ 0, còn vị trí thứ hai là điểm kết thúc và không được lấy vào kết quả.
Nếu bỏ qua tham số thứ hai, substring() sẽ lấy chuỗi từ vị trí bắt đầu cho đến hết. Đặc biệt, khi vị trí bắt đầu lớn hơn vị trí kết thúc, JavaScript sẽ tự động đổi chỗ hai giá trị này thay vì trả về chuỗi rỗng.
const text = "JavaScript";
console.log(text.substring(0, 4));
console.log(text.substring(4, 0));
Cả hai lệnh trên đều trả về "Java". Đây là điểm cần lưu ý nếu các vị trí được tạo ra từ dữ liệu động, bởi thứ tự tham số không được giữ nguyên như cách bạn truyền vào.
substring() có làm thay đổi chuỗi gốc không?
substring() không chỉnh sửa chuỗi ban đầu. Phương thức này tạo và trả về một chuỗi mới chứa phần ký tự được chọn, trong khi giá trị của chuỗi gốc vẫn giữ nguyên.
const text = "WebMoi";
const result = text.substring(0, 3);
console.log(result);
console.log(text);
Kết quả là "Web" và "WebMoi". Vì vậy, nếu muốn lưu phần chuỗi sau khi cắt, bạn cần gán kết quả của substring() cho một biến hoặc sử dụng trực tiếp trong biểu thức khác.
Khi nào nên dùng substring() thay vì slice()?
substring() phù hợp khi bạn chỉ cần lấy một đoạn chuỗi dựa trên hai vị trí không âm và muốn JavaScript tự xử lý trường hợp vị trí bắt đầu lớn hơn vị trí kết thúc. Ngược lại, slice() linh hoạt hơn khi cần sử dụng chỉ số âm để đếm vị trí từ cuối chuỗi.
const text = "JavaScript";
console.log(text.substring(4, 10));
console.log(text.slice(-6));
Trong ví dụ trên, substring() lấy phần chuỗi dựa trên vị trí xác định từ đầu, còn slice() có thể lấy dữ liệu từ cuối nhờ chỉ số âm. Do đó, hãy chọn phương thức dựa trên cách bạn xác định vị trí cần lấy thay vì chỉ dựa vào tên hoặc thói quen sử dụng.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức substring() 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 *