Biểu thức chính quy (Regular Expression) trong JavaScript
Biểu thức chính quy (Regular Expression, viết tắt là Regex) trong JavaScript là một công cụ mạnh mẽ để tìm kiếm, so khớp và thay thế các mẫu ký tự trong chuỗi. Regex được định nghĩa bởi cú pháp đặc biệt và được sử dụng cùng với các phương thức của đối tượng chuỗi và đối tượng RegExp. Dưới đây là một số thông tin cơ bản và ví dụ về cách sử dụng biểu thức chính quy trong JavaScript:
Cú pháp cơ bản#
Biểu thức chính quy được đặt giữa hai dấu gạch chéo / hoặc sử dụng hàm khởi tạo RegExp:
`
let regex = /pattern/;
let regexWithFlags = /pattern/g; // g: global, i: case-insensitive, m: multi-line
// Hoặc sử dụng hàm khởi tạo let regex2 = new RegExp("pattern"); let regexWithFlags2 = new RegExp("pattern", "gi"); `
Các ký tự đặc biệt trong Regex#
.: Khớp với bất kỳ ký tự nào ngoại trừ dòng mới.^: Bắt đầu của chuỗi.$: Kết thúc của chuỗi.\d: Bất kỳ chữ số nào (0-9).\D: Bất kỳ ký tự nào không phải là chữ số.\w: Bất kỳ ký tự từa-z,A-Z,0-9hoặc_.\W: Bất kỳ ký tự nào không phải là\w.\s: Bất kỳ khoảng trắng nào.\S: Bất kỳ ký tự nào không phải là khoảng trắng.[abc]: Khớp với bất kỳ ký tự nào trong ngoặc vuông.[^abc]: Khớp với bất kỳ ký tự nào không có trong ngoặc vuông.a|b: Khớp vớiahoặcb.
Các lượng từ trong Regex#
*: Khớp 0 hoặc nhiều lần.+: Khớp 1 hoặc nhiều lần.?: Khớp 0 hoặc 1 lần.{n}: Khớp chính xácnlần.{n,}: Khớp ít nhấtnlần.{n,m}: Khớp từnđếnmlần.
Các phương thức thường dùng#
test(): Kiểm tra xem biểu thức chính quy có khớp với một chuỗi hay không. Trả vềtruehoặcfalse.let regex = /hello/; console.log(regex.test("hello world")); // trueexec(): Tìm kiếm một chuỗi khớp với biểu thức chính quy. Trả về một mảng chứa kết quả khớp hoặcnull.let result = regex.exec("hello world"); console.log(result); // ["hello"]match(): Tìm tất cả các kết quả khớp trong chuỗi. Trả về một mảng hoặcnull.let str = "hello world hello"; console.log(str.match(/hello/g)); // ["hello", "hello"]replace(): Thay thế các kết quả khớp trong chuỗi bằng một chuỗi khác.console.log(str.replace(/hello/g, "hi")); // "hi world hi"search(): Tìm vị trí đầu tiên của kết quả khớp trong chuỗi. Trả về chỉ số hoặc-1.console.log(str.search(/world/)); // 6split(): Chia chuỗi thành mảng con dựa trên biểu thức chính quy.console.log(str.split(/\s/)); // ["hello", "world", "hello"]
Ví dụ sử dụng Regex#
Kiểm tra địa chỉ email:
let emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; console.log(emailRegex.test("example@example.com")); // trueTìm và thay thế tất cả các số trong chuỗi:
let str = "My phone number is 123-456-7890."; let numberRegex = /\d+/g; console.log(str.replace(numberRegex, "#")); // "My phone number is #-#-#."
Biểu thức chính quy là một công cụ rất mạnh mẽ và linh hoạt trong JavaScript, giúp dễ dàng thao tác và xử lý các chuỗi phức tạp.
Bài liên quan trong # JavaScript
-
Cách tạo thông báo (notification) từ trình duyệt
minhdev -
Hàm javascript show thời gian hiện tại và có đếm giây
minhu -
Hàm chuyển tiêu đề tiếng việt thành URL bằng java script
minhu -
Ứng dụng ESLint để phát hiện lỗi và tối ưu hoá source code JavaScript trên VS
minhdev -
Hàm javascript load số tăng dần đẹp mắt như google analytics
minhu