JavaScript: Biểu thức chính quy (Regular Expression) là gì?

Một người dùng được yêu cầu điền vào biểu mẫu HTML và cung cấp tên, địa chỉ và ngày sinh của anh ta. Trước khi gửi biểu mẫu đến máy chủ để xử lý thêm, chương trình JavaScript sẽ kiểm tra biểu mẫu để đảm bảo người dùng thực sự đã nhập nội dung nào đó và thông tin có ở định dạng được yêu cầu. Chúng ta đã thấy trong chương trước một số cách cơ bản mà JavaScript có thể kiểm tra thông tin biểu mẫu, nhưng bây giờ với việc bổ sung các biểu thức thông thường, xác thực mẫu có thể tinh vi và chính xác hơn nhiều. Trước khi đi vào xác nhận mẫu, chúng tôi sẽ đi sâu vào các biểu thức chính quy và cách chúng hoạt động. Nếu bạn am hiểu các biểu thức chính quy Perl (hoặc các tiện ích UNIX, grep, sed và awk), bạn có thể di chuyển nhanh qua phần này, vì phần lớn các biểu thức chính quy của JavaScript, giống hệt với các biểu thức được tìm thấy trong Perl.

Một biểu thức chính quy thực sự chỉ là một chuỗi hoặc mẫu các ký tự được khớp với một chuỗi văn bản khi thực hiện tìm kiếm và thay thế. Một biểu thức chính quy đơn giản bao gồm một ký tự hoặc tập hợp các ký tự khớp với chính nó. Biểu thức chính quy thường được phân định bằng dấu gạch chéo về phía trước; ví dụ: / abc /.

Giống như Perl, JavaScript cung cấp nhiều loại siêu ký tự biểu thức chính quy để kiểm soát cách tìm thấy một mẫu. Các siêu ký tự được sử dụng để kiểm soát mẫu tìm kiếm; bạn có thể tìm các chuỗi chỉ chứa các chữ số, chỉ các chữ cái, một chữ số ở đầu dòng theo sau là bất kỳ số chữ cái nào, một dòng kết thúc bằng một chữ số, v.v. Khi tìm kiếm một mẫu các ký tự, khả năng tinh chỉnh tìm kiếm của bạn là vô tận.

JavaScript 1.2, NES 3.0 JavaScript 1.3 được thêm vào phương thứcSource (). JavaScript 1.5, NES 6.0 đã thêm cờ m, công cụ sửa đổi không tham lam, dấu ngoặc đơn không bắt giữ, xác nhận tìm kiếm. ECMA 262, Phiên bản 3.

Một lần nữa, các biểu thức chính quy JavaScript được sử dụng chủ yếu để xác minh dữ liệu đầu vào ở phía máy khách. Khi người dùng điền vào biểu mẫu và nhấn nút gửi, biểu mẫu sẽ được gửi đến máy chủ và sau đó đến tập lệnh CGI để xử lý thêm. Mặc dù các biểu mẫu có thể được xác nhận bởi chương trình CGI, nhưng sẽ hiệu quả hơn khi chăm sóc xác thực trước khi gửi tập lệnh đến máy chủ. Đây là một chức năng quan trọng của JavaScript. Người dùng điền vào biểu mẫu và kiểm tra JavaScript để xem liệu tất cả các hộp đã được điền đúng chưa, và nếu không, người dùng được yêu cầu nhập lại dữ liệu trước khi biểu mẫu được gửi đến máy chủ. Kiểm tra biểu mẫu ở phía máy khách cho phép phản hồi tức thì và ít phải di chuyển qua lại giữa trình duyệt và máy chủ. Có thể là chương trình CGI vẫn tự xác nhận, nhưng nếu JavaScript đã hoàn thành công việc, nó vẫn sẽ tiết kiệm thời gian và sự bất tiện cho người dùng. Với sức mạnh được cung cấp bởi các biểu thức thông thường, khả năng kiểm tra mọi loại đầu vào, chẳng hạn như địa chỉ email, mật khẩu, số an sinh xã hội và ngày sinh được đơn giản hóa rất nhiều.

Phần đầu tiên của chương này đi sâu vào việc xây dựng các biểu thức chính quy và cách sử dụng các siêu ký tự biểu thức chính quy. Phần thứ hai của chương áp dụng thông tin này để xác nhận đầu vào mẫu.