Phương thức substr() trong JavaScript

Phương thức substr() trong JavaScript
Phương thức substr() trong JavaScript

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

Chạy Thử

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
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức substr() trong JavaScript
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !