Validate form sử dụng Regular Expression

Bài viết Validate form sử dụng Regular Expression Aki sẽ hướng dẫn các bạn cách sử dụng Regular Expression để giải quyết bài toán validate form trong thực tế
Xây dựng một giao diện form gồm các thành phần email, username, password và địa chỉ website (như hình vẽ) Người dùng tiến hành nhập đầy đủ các thông tin của form, nếu thông tin nào người dùng nhập không đúng yêu cầu sẽ có thông báo lỗi xuất hiện ở phía dưới.
Validate form sử dụng RE
Validate form sử dụng RE
Về sự ràng buộc của các phần tử trên form, chúng ta có thông tin như sau:
Email
  • Địa chỉ email phải bắt đầu bằng một ký tự.
  • Địa chỉ email là tập hợp của các ký tự a-z, 0 đến 9 và có thể có các ký tự như dấu chấm ( . ), dấu gạch dưới ( _ )
  • Độ dài tối thiểu của email là 5 ký tự và độ dài tối đa là 32 ký tự
  • Tên miền của email có thể là tên miền cấp 1 hoặc tên miền cấp 2
Username
  • Tên đăng nhập phải bắt đầu bằng một ký tự hoặc dấu gạch dưới
  • Tên đăng nhập là tập hợp của các ký tự a-z, 0-9 và có thể có các ký tự như dấu chấm ( . ), dấu gạch dưới ( _ ), khoảng trắng
  • Độ dài tối thiểu của tên đăng nhập là là 5 ký tự và độ dài tối đa là 32 ký tự
Password
  • Mật khẩu là tập hợp của các ký tự a-z, 0-9 có thể có các ký tự như dấu chấm ( . ), dấu gạch dưới ( _ ) và các ký tự đặc biệt
  • Mật khẩu phải có chiều dài 8 ký tự
  • Phải tồn tại ít nhất 1 ký tự đặc biệt, 1 ký tự in hoa và 1 chữ số nào đó
Website phải tuân theo các dạng sau
  • http://www.abc.vn
  • https://www.abc.vn.vn
  • http://abc.vn
  • https://abc.vn
  • www.abc.vn
Mã nguồn tập tin style.css

Mã nguồn tập tin functions.php (chứa các hàm xử lý)

Mã nguồn tập tin index.php (chứa giao diện form và gọi các hàm xử lý)

Kết thúc bài viết Validate form sử dụng Regular Expression các bạn đã biết cách khai thác Regular Expression để giải quyết bài toán validate là như thế nào. Như vậy các bạn đã thấy Regular Expression thật sự là một công cụ rất mạnh, việc nắm vững Regular Expression là một vấn đề thật sự cần thiết đối với bất kỳ lập trình viên nào.
Series Navigation

Comments

Popular Posts