Tìm Kiếm Chuỗi (String Search) Trong JavaScript – Lập Trình Website

Các phương pháp trong JavaScript giúp tìm kiếm chuỗi :

  • indexOf()
  • lastIndexOf()
  • startsWith()
  • endsWith()

Phương thức indexOf() của chuỗi

Phương thức indexOf() giúp trả về vị trí xuất hiện đầu tiên của giá trị chuỗi đang tìm kiếm bên trong chuỗi áp dụng phương thức.

Ví dụ:







JavaScript String Methods

The indexOf() method returns the position of the first occurrence of a specified text:

Kết quả:


JavaScript sẽ đếm từ vị trí 0 .
0 là vị trí tiên phong trong một chuỗi, 1 là vị trí thứ hai, 2 là vị trí thứ 3, …

Phương thức lastIndexOf() của chuỗi trong JavaScript

Phương thức lastIndexOf() giúp trả về vị trí của lần xuất hiện cuối cùng của giá trị chuỗi đang tìm kiếm bên trong chuỗi đang áp dụng phương thức.

Ví dụ:







JavaScript String Methods

The lastIndexOf ( ) method returns the position of the last occurrence of a specified text :

Kết quả:

Cả phương thức indexOf() và lastIndexOf() đều trả về giá trị -1 nếu không tìm thấy giá trị chuỗi cần tìm nhé.

Ví dụ:







JavaScript String Methods

Both indexOf ( ), and lastIndexOf ( ) return - 1 if the text is not found :

Kết quả:


Cả hai phương pháp đều hoàn toàn có thể nhận vào tham số thứ hai giúp miêu tả vị trí khởi đầu tìm kiếm nhé .

Ví dụ:







JavaScript String Methods

The indexOf ( ) method accepts a second parameter as the starting position for the search :

Kết quả:

Phương thức lastIndexOf() sẽ tìm kiếm ngược lại với phương thức indexOf() (từ cuối chuỗi đến đầu chuỗi), nghĩa là: nếu tham số thứ hai là 15 thì vị trí bắt đầu tìm kiếm sẽ là vị trí 15 và tìm kiếm ngược trở lại đầu chuỗi nhé.

Ví dụ:







JavaScript String Methods

The lastIndexOf ( ) method accepts a second parameter as the starting position for the search . Remember that the lastIndexOf ( ) method searches backwards, so position 15 means start the search at position 15, and search to the beginning . Position 15 is position 15 from the beginning .

Kết quả:

Phương thức search() của chuỗi trong JavaScript

Phương thức search() giúp tìm kiếm vị trí của một giá trị chuỗi nào đó trong chuỗi đang áp dụng phương thức.

Ví dụ:







JavaScript String Methods

The search ( ) method returns the position of the first occurrence of a specified text in a string :

Kết quả:

Bạn có chú ý không?

Liệu hai phương thức indexOf() và search()giống nhau không?

Liệu chúng có gật đầu cùng những đối số ( tham số ) và trả về cùng một giá trị không ?
Hai phương pháp trên trọn vẹn không giống nhau nhé. Dưới đây là những điểm khác nhau giữa chúng :

  • Phương thức search() không thể nhận được đối số vị trí thứ hai
  • Phương thức indexOf() không thể nhận được các giá trị tìm kiếm mạnh mẽ (biểu thức chính quy).

Các bạn sẽ được học nhiều hơn về biểu thức chính quy trong những bài viết sau của mình nhé .

Phương thức match() của chuỗi trong JavaScript

Phương thức match() được sử dụng để tìm kiếm trong một chuỗi các phần trùng lặp với một biểu thức thường quy, đồng thời trả về các sự trùng lặp đó như là một đối tượng mảng.

Ví dụ 1:

Thực hiện tìm kiếm “ ain ” trong một chuỗi :







JavaScript String Search

Search a string for " ain " :

Kết quả:

Nếu biểu thức chính quy trong ví dụ trên không bao gồm bổ nghĩa g (để thực hiện một tìm kiếm toàn thể (global search)) thì phương thức match() sẽ chỉ trả về trình tự trùng lặp đầu tiên mà nó gặp thôi nhé.

Cú pháp:

string.match(regexp)

Trong đó :

  • regexp – Bắt buộc phải có. Giá trị cần tìm, được biểu diễn như một biểu thức chính quy
  • Giá trị trả về sẽ là một mảng chứa các giá trị trùng lặp, một phần tử cho mỗi trùng lặp hoặc là null nếu không có giá trị nào trùng lặp

Ví dụ 2:

Thực hiện một tìm kiếm toàn thể, không phần biệt in hoa hay in thường cho giá trị “ain”:







JavaScript String Search

Perform a global, case-insensitive search for " ain " :

Kết quả:

Phương thức include() của chuỗi trong JavaScript

Phương thức includes() giúp trả về “true” nếu một chuỗi chứa một giá trị nhất định nào đó.

Ví dụ:







JavaScript String Search

Check if a string includes " world " : The includes ( ) method is not supported in Internet Explorer .

Kết quả:

Các trình duyệt hỗ trợ cho phương thức include():

Phương thức includes() của chuỗi không được hỗ trợ trên trình duyệt Internet Explorer.

Cú pháp:

string.includes(searchvalue, start)
searchvalue Bắt buộc. Giá trị cần tìm kiếm
start Tùy chọn. Mặc định là 0. Vị trí bắt đầu tìm kiếm
Trả về Trả về true nếu chuỗi có chứa giá trị, mặc khác sẽ trả về false
Phiên bản JS ES6 (2015)

Ví dụ:

Kiểm tra xem chuỗi có chứa “ world ” kể từ vị trí thứ 12 không :







JavaScript String Search

Check if a string includes " world " : The includes ( ) method is not supported in Internet Explorer .

Kết quả:

Phương thức startsWith() của chuỗi trong JavaScript

Phương thức startsWith() trả về true nếu như chuỗi được bắt đầu bằng một giá trị nhất định, mặc khác sẽ trả về false:

Ví dụ:







JavaScript Strings

Check if a string starts with " Hello " : The startsWith ( ) method is not supported in Internet Explorer .

Kết quả:

Cú pháp:

string.startsWith(searchvalue, start)
Tham số Mô tả
searchvalue Bắt buộc. Giá trị cần tìm kiếm
start Tùy chọn. Mặc định là 0. Vị trí bắt đầu tìm kiếm

Ví dụ:

Các bạn thay thế sửa chữa vào ví dụ cũ để thấy được tác dụng nhé :

let text = "Hello world, welcome to the universe.";

text.startsWith("world")    // Returns false
let text = "Hello world, welcome to the universe.";

text.startsWith("world", 5)    // Returns false
let text = "Hello world, welcome to the universe.";

text.startsWith("world", 6)    // Returns true

Chú ý: Phương thức startsWith() sẽ phần biệt chữ in hoa và chữ in thường.

Phương thức startsWith() thì không được hỗ trợ trong Internet Explorer.

Các phiên bản trình duyệt tiên phong tương hỗ là :

Phương thức endsWith() của chuỗi trong JavaScript

Phương thức endsWith() trả về true nếu một chuỗi kết thúc bằng một giá trị nhất định, mặc khác sẽ trả về false:

Ví dụ:

Kiểm tra xem chuỗi có kết thức với “ Doe ” không nhé :







JavaScript Strings

Check if a string ends with " Doe " : The endsWith ( ) method is not supported in Internet Explorer .

Kết quả:

Cú pháp:

string.endswith(searchvalue, length)
Tham số Mô tả
searchvalue Bắt buộc. Giá trị cần tìm kiếm
length Tùy chọn. Độ dài chuỗi tìm kiếm

Ví dụ:

Kiểm tra trong 11 kí tự tiên phong chuỗi có kết thúc với “ world ” không :







JavaScript Strings

Check in the 11 first characters of a string ends with " world " : The endsWith ( ) method is not supported in Internet Explorer .

Kết quả:

Chú ý: Phương thức endsWith() có phân biệt chữ in hoa và in thường nhé.

Phương thức endsWith() thì không được hỗ trợ trong Internet Explorer.

Các phiên bản trình duyệt tiên phong có tương hỗ phương pháp là :