Google Forms là công cụ hữu ích để thu thập thông tin thông qua biểu mẫu. Tuy nhiên, việc người dùng nhập sai thông tin là điều không thể tránh khỏi. Vậy làm thế nào để đảm bảo dữ liệu được nhập chính xác? Bài viết này sẽ hướng dẫn bạn cách sử dụng tính năng Xác thực phản hồi (Response Validation) trong Google Forms để kiểm soát dữ liệu đầu vào.
Tính năng này cho phép bạn đặt ra các quy tắc cụ thể cho từng phần dữ liệu, ví dụ: số điện thoại phải đủ 10 số, số lượng phải lớn hơn 0, độ dài văn bản không quá 100 ký tự,… Response Validation được chia thành 4 loại: Số (Numbers), Văn bản (Text), Độ dài (Length), và Biểu thức chính quy (Regular Expression).
Các Loại Xác Thực Phản Hồi
Số (Numbers): Bạn có thể áp dụng các phép toán tử như lớn hơn, nhỏ hơn, bằng, trong khoảng, ngoài khoảng,… để ràng buộc giá trị số.
Văn bản (Text): Kiểm tra xem văn bản có chứa, không chứa, là địa chỉ email, địa chỉ URL hợp lệ hay không.
Độ dài (Length): Xác định số ký tự tối thiểu và tối đa cho phép.
Biểu thức chính quy (Regular Expression – RegEx): Cho phép kiểm tra dữ liệu đầu vào dựa trên các mẫu phức tạp hơn. Chúng ta sẽ tìm hiểu kỹ hơn về RegEx trong phần tiếp theo.
Tìm Hiểu Về Biểu Thức Chính Quy (RegEx)
RegEx là một chuỗi ký tự đặc biệt mô tả một mẫu tìm kiếm. Dưới đây là bảng tóm tắt một số ký tự RegEx thường dùng:
Ký tự/Nhóm | Mô tả |
---|---|
. | Bất kỳ ký tự nào trừ xuống dòng |
wds | Chữ, số, khoảng trắng |
WDS | KHÔNG PHẢI chữ, số, khoảng trắng |
[abc] | Chữ có thể là a, b hoặc c |
[^abc] | Không phải là a, b, hoặc c |
[a-g] | Các chữ từ a đến g |
^abc$ | Bắt đầu/kết thúc của chuỗi |
bB | Giới hạn từ, không phải giới hạn từ |
. * \ | Ký tự đặc biệt (cần escape) |
tnr | Tab, xuống dòng, trở về đầu dòng |
(abc) | Nhóm tìm thấy |
1 | Tham chiếu tới nhóm 1 |
(?:abc) | Không tìm thấy nhóm |
(?=abc) | Bắt đầu với |
(?!abc) | Không bắt đầu với |
a*a+a? | 0 hoặc nhiều, 1 hoặc nhiều, 0 hoặc 1 |
a{5}a{2,} | Chính xác 5, 2 hoặc nhiều |
a{1,3} | Từ 1 đến 3 |
a+?a{2,}? | Phù hợp càng ít càng tốt |
ab|cd | ab hoặc cd |
Tham khảo thêm tại: https://regexr.com/
Các Trường Hợp Sử Dụng Thường Gặp
Xác Thực Địa Chỉ Email
Mặc dù Google Forms có sẵn tùy chọn xác thực email, nhưng nó không thể xử lý hết các trường hợp nhập sai phức tạp. Ví dụ: gmail.con, gmai, gmail.com.vn,… RegEx sau đây sẽ giúp bạn kiểm soát chặt chẽ hơn:
^[w-.]+@(?!.*gmai.com|mail|gmial|gmaiil|gmeo|gmaill|gnail.com|gmail.con|outlook.com.vn|mytam.info|mytamentertainment.com|yhoo.com|yaho.com|yahu.com|gmail.com.vn|gamil.com|email.com.*)([w-]+.)+[w-]{2,4}$
Xác Thực Ngày Tháng Năm Sinh
Thay vì sử dụng kiểu dữ liệu Date có sẵn, bạn có thể yêu cầu người dùng nhập theo định dạng “dd/mm/yyyy” và sử dụng RegEx sau để xác thực:
(0[1-9]|[12][0-9]|3[01])[- /.]([0-9]|0[0-9]|1[012])[- /.]dddd$
Xác Thực Số Chứng Minh Nhân Dân/Căn Cước Công Dân/Hộ Chiếu
Tùy chọn Độ dài (Length) cho phép giới hạn số ký tự, nhưng không ngăn được người dùng nhập thêm khoảng trắng hoặc ký tự đặc biệt. RegEx sau đây sẽ giải quyết vấn đề này:
(^w{3}[0-9]{6}$)|(^w{1,2}[0-9]{7}$)|(^d{9}$)|(^d{12}$)
Xác Thực Địa Chỉ
Để đảm bảo địa chỉ được nhập đầy đủ, bạn có thể yêu cầu độ dài tối thiểu và sử dụng RegEx để kiểm tra các mẫu cụ thể nếu cần.
Hàm RegexReplace
, RegexExtract
Trong Google Sheets và Excel
Google Sheets hỗ trợ sẵn các hàm RegexExtract
và RegexReplace
để xử lý văn bản dựa trên RegEx. Ví dụ, bạn có thể tách điểm thi hoặc tách số, chữ từ chuỗi một cách dễ dàng.
Đối với Excel, bạn có thể sử dụng add-in ExcelRegex (https://github.com/Grynn/ExcelRegex) để bổ sung các hàm này.
Tìm hiểu thêm về Regex trong VBA: https://blog.hocexcel.online/cach-su-dung-regular-expression-trong-vba.html
Kết Luận
Response Validation và RegEx là những công cụ mạnh mẽ giúp bạn kiểm soát dữ liệu đầu vào trong Google Forms, đảm bảo tính chính xác và thống nhất của thông tin. Hy vọng bài viết này đã cung cấp cho bạn những kiến thức hữu ích về cách sử dụng chúng. Hãy khám phá thêm các ví dụ và ứng dụng khác của RegEx để tối ưu hóa việc thu thập dữ liệu của bạn.
Discussion about this post