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

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

Chức năng của Phương thức search() trong JavaScript

Phương thức search() trong JavaScript dùng để tìm vị trí xuất hiện lần đầu tiên của một chuỗi con trong một chuỗi gốc, có thể phân biệt chữ hoa chữ thường hoặc không phân biệt chữ hoa chữ thường tùy vào cấu trúc tham số truyền vào.

Cú pháp của Phương thức search() trong JavaScript

Mặc định, có phân biệt chữ hoa chữ thường

var vitri = chuoigoc.search("chuoicon");

chuoigoc: Chuỗi gốc cần kiểm tra.

chuoicon: Chuỗi con cần kiểm tra.

vitri: Vị trí chuỗi con xuất hiện được trả về.

Không phân biệt chữ hoa chữ thường

var vitri = chuoigoc.search(/chuoicon/i);

chuoigoc: Chuỗi gốc cần kiểm tra.

chuoicon: Chuỗi con cần kiểm tra.

vitri: Vị trí chuỗi con xuất hiện được trả về.

Code Phương thức search() trong JavaScript

<script>
var chuoigoc = "Công ty Web Mới xin chào quý khách, web mới chuyên thiết kế web";
// Lấy vị trí xuất hiện lần đầu của từ 'Web'
document.write("<b>// Lấy vị trí xuất hiện lần đầu của từ 'Web'</b><br>");
var vitri  = chuoigoc.search("Web"); // Kết quả: 8
document.write(vitri  +"<br>");
// Lấy vị trí xuất hiện lần đầu của từ 'web'
document.write("<b>// Lấy vị trí xuất hiện lần đầu của từ 'web'</b><br>");
var vitri  = chuoigoc.search("web"); // Kết quả: 36
document.write(vitri  +"<br>");
// Lấy vị trí xuất hiện lần đầu của từ 'web' không phân biệt chữ hoa, chữ thường
document.write("<b>//Lấy vị trí xuất hiện lần đầu của từ 'web' không phân biệt chữ hoa, chữ thường</b><br>");
var vitri  = chuoigoc.search(/web/i); // Kết quả: 8
document.write(vitri  +"<br>");
</script>

Kết quả:

// Lấy vị trí xuất hiện lần đầu của từ 'Web'
8
// Lấy vị trí xuất hiện lần đầu của từ 'web'
36
//Lấy vị trí xuất hiện lần đầu của từ 'web' không phân biệt chữ hoa, chữ thường
8

Chạy Thử

Cách xử lý kết quả trả về của phương thức search() trong JavaScript

Phương thức search() trả về một số nguyên thể hiện vị trí bắt đầu của phần khớp trong chuỗi. Nếu không tìm thấy kết quả phù hợp, phương thức trả về -1. Vì vậy, khi sử dụng search(), cần dựa vào giá trị này để xử lý kết quả thay vì kiểm tra chuỗi trả về.

search() trả về gì khi tìm thấy chuỗi?

Khi biểu thức tìm kiếm khớp với một phần trong chuỗi, search() trả về vị trí của ký tự đầu tiên thuộc phần khớp. Vị trí được tính từ 0, nên ký tự đầu tiên của chuỗi luôn có chỉ số là 0.

Ví dụ, với chuỗi "Học JavaScript tại Web Mới", nếu tìm từ "JavaScript", kết quả trả về là vị trí bắt đầu của từ này trong chuỗi.

const text = "Học JavaScript tại Web Mới";
const position = text.search(/JavaScript/);

console.log(position);

Điểm cần lưu ý là kết quả của search() là một con số, không phải phần văn bản được tìm thấy. Giá trị này có thể được sử dụng để xác định vị trí, kiểm tra điều kiện hoặc thực hiện các thao tác xử lý chuỗi tiếp theo.

search() trả về gì khi không tìm thấy chuỗi?

Nếu không có phần nào trong chuỗi phù hợp với biểu thức tìm kiếm, search() trả về -1. Đây là giá trị quan trọng để phân biệt giữa trường hợp tìm thấy và không tìm thấy.

const text = "Học JavaScript tại Web Mới";
const position = text.search(/PHP/);

console.log(position);

Trong ví dụ trên, PHP không xuất hiện trong chuỗi nên kết quả là -1. Không nên hiểu -1 là vị trí của một ký tự, mà đây là dấu hiệu cho biết quá trình tìm kiếm không có kết quả phù hợp.

Kiểm tra kết quả search() bằng điều kiện if

Cách sử dụng phổ biến là lưu kết quả của search() vào một biến rồi kiểm tra xem giá trị đó có khác -1 hay không. Cách này giúp chương trình xử lý rõ ràng hai trường hợp tìm thấy và không tìm thấy.

const text = "Học JavaScript tại Web Mới";
const position = text.search(/JavaScript/);

if (position !== -1) {
    console.log("Đã tìm thấy nội dung");
} else {
    console.log("Không tìm thấy nội dung");
}

Nên dùng phép so sánh position !== -1 thay vì chỉ kiểm tra position. Bởi nếu nội dung cần tìm nằm ngay đầu chuỗi, search() sẽ trả về 0. Giá trị 0 là một kết quả hợp lệ và vẫn có nghĩa là đã tìm thấy nội dung.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức search() 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 search() 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) !