0

Regex mật khẩu mạnh - Giải thích các quy tắc tra cứu

Gỡ lỗi biểu thức chính quy JavaScript trực tiếp: các kết quả phù hợp được đánh dấu, nhóm chụp, cờ và bản xem trước thay thế.

Hỗ trợ $1, $2 và các tham chiếu được đặt tên như $<name>; $& chèn toàn bộ trận đấu. Để trống để ẩn bản xem trước.

Đang xử lý... 0%

kết quả

Trang này mở ra với mẫu chính sách mật khẩu được xây dựng hoàn toàn từ các giao diện xem trước: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. Mỗi (?=…) là một kiểm tra độ rộng bằng 0, quét toàn bộ dòng mà không tiêu tốn nó: một yêu cầu một chữ cái viết thường, một chữ cái viết hoa, một chữ số, một ký tự đặc biệt - và chỉ sau đó .{8,} mới thực thi độ dài tối thiểu.

Các cờ ở đây rất quan trọng: m tạo ^ và $ neo vào mỗi dòng thay vì toàn bộ văn bản và g tìm mọi dòng đủ điều kiện. Điều đó biến người kiểm tra thành một danh sách kiểm tra - mẫu chứa năm mật khẩu ứng viên và chỉ những dòng đáp ứng cả bốn hướng nhìn mới sáng lên. Xem nhanh lý do tại sao mật khẩu123 không thành công (không có chữ hoa, không có ký tự đặc biệt) trong khi Tr0ub4dor&3 vượt qua.

Lookaheads là cách tiêu chuẩn để thể hiện các điều kiện "phải chứa X ở đâu đó" trong một biểu thức duy nhất và cài đặt trước này là một sân chơi an toàn để tìm hiểu chúng. Thắt chặt chính sách thành hơn 12 ký tự, thêm kiểm tra (?!.*(.)\1\1) đối với các lần lặp lại ba lần hoặc dán danh sách mật khẩu đề xuất thực sự — mọi thay đổi sẽ được đánh giá lại ngay lập tức và không có gì bạn nhập sẽ rời khỏi trình duyệt của bạn.