REGEX PHP Bài 7: Một số ví dụ về RegEx (P2)

0
88

Bạn nào chưa theo dõi bài viết trước có thể xem tại đây nhé.

  • a

Bài viết này mình sẽ giới thiệu thêm ví dụ về RegEx.

1. Kiểm tra tên đăng nhập hợp lệ

Trước khi đi vào so sánh một chuỗi RegEx nào đó thì chúng ta phải đặt ra điều kiện so sánh cho nó. Vậy thì điều kiện đặt ra ở đây là gì ?

Để kiểm tra một tên đăng nhập hợp lệ thì bạn có thể tham khảo điều kiện sau

  • Tên đăng nhập bắt đầu bằng 1 ký tự
  • Tên đăng nhập nằm trong tập hợp kí tự a-z, 0-9 và có thể chứa dấu . hoặc _
  • Tên đăng nhập tối thiểu 5 kí tự, và tối đa 20 kí tự

Tiếp theo chúng ta sẽ tạo ra Pattern dựa theo các điều kiện này

Đầu tiên nó được bắt đầu bằng một ký tự vậy chúng ta sẽ có cú pháp sau

Tiếp theo tên đăng nhập là tập hợp của các kí tự a-z, 0-9, ., _

Và tên đăng nhập không quá 20 kí tự và tối thiểu 5 kí tự.

ở đây là 4 vì trước đó nó đã kiểm tra kí tự bắt đầu

Cuối cùng để chắc chắn thì chúng ta sẽ kiểm tra ngược lại bằng kí tự $

Chạy kiểm tra

Kết quả

2.Kiểm tra mật khẩu hợp lệ

Một mật khẩu hợp lệ sẽ có các điều kiện sau

  • Mật khẩu là tập hợp của các kí tự [a-z], [0-9] và kí tự đặc biệt.
  • Mật khẩu tối thiểu phải có 8 kí tự tối đa 16 kí tự
  • Mật khẩu bắt buộc phải có ít nhất 1 chữ in hoa, 1 số, 1 kí tự đặc biệt

Ở các điều kiện trên thì điều kiện 1 và 2 quá đơn giản đúng không ạ. Qua điều kiện thứ 3 để kiểm tra tồn tại ít nhất 1 kí tự bất kỳ trong chuỗi thì chúng ta sử dụng kí hiệu ?=.* .Vậy trong trường hợp này chúng ta áp áp thế nào?

Đầu tiên tôi sẽ tiến hành kiểm tra trong chuỗi phải có ít nhất 1 chữ in hoa. Chữ in hoa của chúng ta sẽ nằm trong tập hợp từ [A-Z]

Tiếp theo tôi sẽ tiến hành kiểm tra có ít nhất 1 số. Tập hợp số của chúng ta sẽ có 2 cách đó là dùng [0-9 hoặc \d ở đây tôi sẽ dùng \d

Tiếp đến chúng ta sẽ kiểm tra kí tự đặc biệt, Kí tự đặc biệt là phụ định của [^A-z0-9_] ở đây ta có kí hiệu là \W

Cuối cùng ta quay lại điều kiện 1 và 2 , điều kiện 1 là 1 ký tự bất kỳ chúng ta sẽ dùng dấu . và điều kiện 2 chuỗi tối thiệu 8 ký tự và tối đa 16 ta dùng {8,16}

Chạy kết quả

Kết quả

Các bạn có thể xem các bài viết trước tại đây.

  • a
  • a

Chúc các bạn học lập trình web thành công.

[Total: 0    Average: 0/5]

LEAVE A REPLY

Please enter your comment!
Please enter your name here