Biểu thức chính qui kiểm tra hợp lệ của password

Code: Default 01/03/2021 03:42

Tạo biểu thức có giới hạn 6-30 ký tự, yêu cầu bắt buộc phải có chữ thường, số, ký tự đặc biệt (@#$%, chữ hoa

((?=.*[a-z])(?=.*d)(?=.*[@#$%])(?=.*[A-Z]).{6,30})



Code trên được chia ra thành từng đoạn như sau:

(     (?=.*[a-z])       (?=.*d)       (?=.*[@#$%])      (?=.*[A-Z])     .{6,30}     )



(?=.*[a-z])     : Bắt buộc phải có ít nhất 1 ký tự chữ cái viết thường.
(?=.*d)         : Bắt buộc phải có ít nhất 1 chữ số trong chuỗi.
(?=.*[@#$%])    : Bắt buộc phải có ít nhất 1 ký tự đặc biệt trong các ký tự @#$%.
((?=.*[A-Z])    : Bắt buộc phải có ít nhất 1 ký tự chữ in hoa.
{6,30}          : Giới hạn chiều dài cả chuỗi từ 6 đến 30 ký tự.

Bạn không muốn dùng điều kiện nào trong các điều kiện ở trên thì xóa khối đó đi khỏi biểu thức.
--------------------------------------
Demo trong java:
Giải sử chuỗi password người dùng nhập được lưu vào biến tên là  password.
Cách thực hiện:
String bieu_thuc = "((?=.*[a-z])(?=.*d)(?=.*[@#$%])(?=.*[A-Z]).{6,30})";

        if( password.matches( bieu_thuc ) ){
            System.out.println("Bạn đã nhập đúng định dạng");
        }else{
            System.out.println("Bạn nhập sai định dạng");
        }

Hãy thử nghiệm nhé.