Kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không (includes,indexOf,regex) | Laptrinhcanban.com

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không (includes,indexOf,regex)

Hướng dẫn cách kiểm tra ký tự trong JavaScript. Bạn sẽ học được các cách kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không sau bài viết này.

Chúng ta có 3 cách kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không như sau:

  • Sử dụng phương thức includes() để kiểm tra trực tiếp sự tồn tại của ký tự trong chuỗi
  • Sử dụng phương thức indexOf hoặc lastIndexOf để kiểm tra gián tiếp sự tồn tại của ký tự trong chuỗi
  • Sử dụng hàm seacrch() và hàm test() trong đối tượng biểu thức chính quy (regular expression)

Lại nữa, phương thức includes() sẽ kiểm tra một chuỗi ký tự có tồn tại trong chuỗi ban đầu hay không và trả về giá trị True hoặc False. Nếu bạn muốn kiểm tra và tìm cả vị trí của chuỗi ký tự trong một chuỗi, hãy sử dụng trực tiếp các phương thức indexOf() và lastIndexOf() nhé.

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức includes

includes() trong JavaScript là một phương thức của đối tượng String, có tác dụng kiểm tra ký tự chỉ định có tồn tại trong chuỗi hay không. Nếu tìm thấy ký tự thì giá trị true (đúng) sẽ được trả về và ngược lại, nếu không tìm thấy ký tự trong chuỗi thì false (sai) sẽ được trả về.

Chúng ta sử dụng phương thức includes trong JavaScript với cú pháp sau đây:

str.includes (sub [, index_start] )

Trong đó:

  • sub là chuỗi ký tự cần tìm trong chuỗi str, và có phân biệt chữ hoa chữ thường.
  • index_start là vị trí index bắt đầu tìm kiếm chuỗi sub trong chuỗi str. Và đối số này có thể được lược bỏ.

Thông thường chúng ta lược bỏ đi đối số index_start để tiến hành tìm kiếm ký tự chỉ định trên toàn chuỗi ban đầu. Chỉ trong các trường hợp chúng ta muốn kiểm tra trong một phạm vi từ vị trí cụ thể nào đó cho tới cuối chuỗi ban đầu thì mới dùng thêm index_start mà thôi.

Sau đây hãy cùng xem các ví dụ cụ thể sử dụng phương thức includes() để kiểm tra chuỗi trong javascript như sau:

Ví dụ 1: kiểm tra một ký tự có tồn tại trong chuỗi JavaScrip hay không

console.log("dictionary".includes("i"));
//> true

console.log("dictionary".includes("x"));
//> false

Ví dụ 2: kiểm tra một chuỗi ký tự có tồn tại trong chuỗi JavaScrip hay không

console.log("dictionary".includes("io"));
//> true

console.log("dictionary".includes("xyz"));
//> false

Ví dụ 3: kiểm tra một chuỗi ký tự có tồn tại trong phạm vi từ một vị trí đến cuối chuỗi JavaScrip hay không

console.log("dictionary".includes("io", 2)); //Tương đương "ctionary".includes("io")
//> true

console.log("dictionary".includes("io", 5)); //Tương đương "onary".includes("io")
//> false

Lưu ý là có sự phân biệt chữ hoa chữ thường trong ký tự tìm kiếm khi chúng ta kiểm tra ký tự có tồn tại bằng phương thức includes(). Và cả thứ tự chữ cái của chúng cũng cần phải đảm bảo giống với thứ tự trong chuỗi ban đầu.

console.log("dictionary".includes("io"));
//> true

//Có khác biệt chữ hoa chữ thường
console.log("dictionary".includes("Io"));
//> false

//Có khác biệt về thứ tự chữ cái trong chuỗi
console.log("dictionary".includes("oi"));
//> false

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức indexOf() và lastIndexOf()

Trong bài trước chúng ta đã biết phương thức indexOf() và lastIndexOf() trong JavaScript sẽ trả về vị trí tìm thấy của ký tự chỉ định trong chuỗi ban đầu, và nếu ký tự đó không tồn tại thì giá trị -1 sẽ được trả về.

Ứng dụng điều này, chúng ta cũng có thể sử dụng hai phương pháp trên để kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không.

Ý tưởng ở đây là sẽ kiểm tra kết quả hai phương thức trên, nếu khác -1 nghĩa là ký tự chỉ định có tồn tại, và nếu kết quả bằng -1 thì có nghĩa là ký tự chỉ định không tồn tại trong chuỗi ban đầu. Chúng ta cùng xem các ví dụ cụ thể sau đây:

Ví dụ 1: Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức indexOf()

function check_string(str,sub){
let check = str.indexOf(sub);
if (check == -1){return false}else{return true}

}

console.log(check_string("JavaScript","Python"))
//> false

console.log(check_string("JavaScript",""))
//> true

Ví dụ 2: Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng phương thức lastIndexOf()

function check_string(str,sub){
let check = str.lastIndexOf(sub);
if (check == -1){return false}else{return true}

}

console.log(check_string("JavaScript","Python"))
//> false

console.log(check_string("JavaScript",""))
//> true

Kiểm tra ký tự có tồn tại trong chuỗi JavaScript bằng biểu thức chính quy (RegEx)

Chúng ta cũng có thể sử dụng các hàm như search() và test() trong đối tượng Biểu thức chính quy để kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không.

Sử dụng hàm seacrch() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript

Hàm search() trong đối tượng biểu thức chính quy của JavaScript sẽ tìm kiếm một ký tự dựa vào RegEx của ký tự đó trong chuỗi ban đầu. Tương tự với phương thức indexOf() thì hàm cũng trả về kết quả -1 nếu không tìm thấy ký tự, và một giá trị là index trong chuỗi nếu tìm thấy ký tự trong chuỗi ban đầu.

Chúng ta có thể sử dụng hàm seacrch() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript đơn giản như sau:

let string = "I love you";
if (string.search(/love/) !== -1){
console.log("Tồn tại");
}else console.log("Không tồn tại");

//> Tồn tại

Sử dụng hàm test() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript

Một cách tương tự thì chúng ta cũng có thể sử dụng hàm test() trong đối tượng biểu thức chính quy của JavaScript để thực hiện việc tìm kiếm ký tự trong chuỗi. Hàm này tương tự với phương thức includes() mà Kiyoshi đã hướng dẫn ở trên, sẽ trả về true nếu tìm thấy và false nếu như không tìm thấy ký tự đã cho trong chuỗi ban đầu.

Chúng ta có thể sử dụng hàm test() để kiểm tra ký tự có tồn tại trong chuỗi JavaScript đơn giản như sau:

let pattern = /(fa|mo)ther/;

if ( pattern.test('I am your father.') == true) {
console.log('Tồn tại');
}else console.log('Không tồn tại')

//> Tồn tại

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn các cách kiểm tra ký tự có tồn tại trong chuỗi JavaScript hay không rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.