CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 70

70
Chương 2: Thao tác dữ liệu

5.

5.

S d ng bi u th c chính quy đ ki m tra d li u nh p

ử ụ

ể ể

ữ ệ

S d ng bi u th c chính quy đ ki m tra d li u nh p

ử ụ

ể ể

ữ ệ

Bạn cần kiểm tra dữ liệu nhập vào có đúng với cấu trúc và nội dung được quy
định trước hay không. Ví dụ, bạn muốn bảo đảm người dùng nhập địa chỉ IP
, số
điện thoại, hay địa chỉ e-mail hợp lệ.

Sử dụng biểu thức chính quy để bảo đảm dữ liệu nhập đúng cấu trúc và chỉ chứa
các ký tự được quy định trước đối với từng dạng thông tin.

Khi ứng dụng nhận dữ liệu từ người dùng hoặc đọc dữ liệu từ file, bạn nên giả định dữ liệu
này là chưa chính xác và cần được kiểm tra lại. Một nhu cầu kiểm tra khá phổ biến là xác định
các số điện thoại, số thẻ tín dụng, địa chỉ e-mail có đúng dạng hay không. Việc kiểm tra cấu
trúc và nội dung của dữ liệu không đảm bảo dữ liệu là chính xác nhưng giúp loại bỏ nhiều dữ
liệu sai và đơn giản hóa việc kiểm tra sau này. Biểu thức chính quy (regular expression) cung
cấp một cơ chế rất tốt để kiểm tra một chuỗi có đúng với cấu trúc quy định trước hay không,
do đó bạn có thể lợi dụng tính năng này cho mục đích kiểm tra dữ liệu nhập.
Trước tiên, bạn phải xác định cú pháp của biểu thức chính quy cho phù hợp với cấu trúc và
nội dung của dữ liệu cần kiểm tra, đây là phần khó nhất khi sử dụng biểu thức chính quy. Biểu
thức chính quy được xây dựng trên hai yếu tố: trực kiện (literal) và siêu ký tự
(metacharacter). Trực kiện mô tả các ký tự có thể xuất hiện trong mẫu mà bạn muốn so trùng;
siêu ký tự hỗ trợ việc so trùng các ký tự đại diện (wildcard), tầm trị, nhóm, lặp, điều kiện, và
các cơ chế điều khiển khác. Ở đây không thảo luận đầy đủ về cú pháp biểu thức chính quy
(tham khảo tài liệu .NET SDK để hiểu thêm về biểu thức chính quy), nhưng bảng 2.2 sẽ mô tả
các siêu ký tự thường dùng.

Bảng 2.2 Các siêu ký tự thường dùng

Siêu ký tự

Mô tả

.

Mọi ký tự trừ ký tự xuống dòng (

\n

).

\d

Ký tự chữ số thập phân (digit).

\D

Ký tự không phải chữ số (non-digit).

\s

Ký tự whitespace (như khoảng trắng, tab...).

\S

Ký tự non-whitespace.

\w

Ký tự word (gồm mẫu tự, chữ số, và dấu gạch dưới).

\W

Ký tự non-word.

^

Bắt đầu một chuỗi hoặc dòng.

\A

Bắt đầu một chuỗi.

$

Kết thúc một chuỗi hoặc dòng.

\z

Kết thúc một chuỗi.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.