18/08/2018, 11:06

Cách sử dụng "biểu thức chính quy" trong JavaScript

1) Giới thiệu phương thức match() trong JavaScript - Phương thức match() dùng để trả về ký tự (hoặc chuỗi ký tự) trùng khớp với ký tự (hoặc chuỗi ký tự) mà bạn muốn tìm kiếm bên trong một chuỗi nào đó. Ví dụ <script> var text = "Tài liệu học lập trình web từ cơ bản ...

1) Giới thiệu phương thức match() trong JavaScript

- Phương thức match() dùng để trả về ký tự (hoặc chuỗi ký tự) trùng khớp với ký tự (hoặc chuỗi ký tự) mà bạn muốn tìm kiếm bên trong một chuỗi nào đó.

Ví dụ
<script>
    var text = "Tài liệu học lập trình web từ cơ bản đến nâng cao";
    var a = text.match("web");
</script>

- Biến a sẽ lưu trữ những chữ web được tìm thấy trong chuỗi text, và chữ web được tìm thấy trong chuỗi text chính là:

Tài liệu học lập trình web từ cơ bản đến nâng cao
Xem ví dụ

- Tuy nhiên, có hai vấn đề lớn đối với việc tìm kiếm ký tự trong chuỗi bằng phương thức match():

  • Thứ nhất: Phương thức match() phân biệt trường hợp chữ in hoa và chữ thường.
  • Thứ hai: Phương thức match() chỉ trả về kết quả đầu tiên được tìm thấy.
Ví dụ (vấn đề thứ nhất)
<script>
    var text = "Tài liệu học lập trình web từ cơ bản đến nâng cao";
    var a = text.match("Web");
</script>

- Phương thức match() sẽ không tìm được chuỗi nào bên trong text trùng khớp với chữ Web

Tài liệu học lập trình web từ cơ bản đến nâng cao
Xem ví dụ
Ví dụ (vấn đề thứ hai)
<script>
    var text = "Tài liệu học lập trình web từ cơ bản đến nâng cao";
    var a = text.match("c");
</script>

- Trong chuỗi text có đến 3 chữ c nhưng phương thức match() chỉ tìm tới chữ c đầu tiên

Tài liệu học lập trình web từ cơ bản đến nâng cao
Xem ví dụ

- Từ đây, để hai quyết hai vấn đề này thì ta phải sử dụng đến biểu thức chính quy.

2) Biểu thức chính quy

- Biểu thức chính quy (Regular Expression) dùng để xây dựng nên một mẫu tìm kiếm chuỗi

- Khi bạn muốn tìm một thứ gì đó bên trong chuỗi thì biểu thức chính quy sẽ mô tả thứ mà bạn đang muốn tìm.

- Biểu thức chính quy sẽ có cú pháp như sau:

/ký tự hoặc chuỗi ký tự mà bạn muốn tìm/bổ nghĩa

- Trong đó, "bổ nghĩa" có hai loại phổ biến:

  • i không phân biệt chữ in hoa hay chữ thường đối với ký tự hoặc chuỗi ký tự mà bạn muốn tìm.
  • g tìm tất cả các trường hợp trùng khớp.
Ví dụ

Tìm chữ wEb (không phân biệt trường hợp chữ in hoa hay chữ thường) bên trong chuỗi text

<script>
    var text = "Web cơ bản (code24h.com) hướng dẫn làm website";
    var a = text.match(/wEb/i);
</script>

- Phương thức match() sẽ tìm thấy:

Web cơ bản (code24h.com) hướng dẫn làm website
Xem ví dụ
Ví dụ

Tìm tất cả những chữ web bên trong chuỗi text

<script>
    var text = "Web cơ bản (code24h.com) hướng dẫn làm website";
    var a = text.match(/web/g);
</script>

- Phương thức match() sẽ tìm thấy:

Web cơ bản (webcoban.vn) hướng dẫn làm website
Xem ví dụ
Ví dụ

Tìm tất cả những chữ wEB (không phân biệt trường hợp chữ in hoa hay chữ thường) bên trong chuỗi text

<script>
    var text = "Web cơ bản (code24h.com) hướng dẫn làm website";
    var a = text.match(/wEB/gi);
</script>

- Phương thức match() sẽ tìm thấy:

Web cơ bản (webcoban.vn) hướng dẫn làm website
Xem ví dụ
0