tôi có các tiêu chí sau để tạo một biểu thức chính quy cho một mật khẩu mà phù hợp với các quy tắc sau:biểu hiện thường xuyên để thực thi mật khẩu phức tạp, phù hợp với 3 trong số 4 quy tắc
- Mật khẩu phải dài 8 ký tự (điều này tôi có thể làm :-)).
Mật khẩu sau đó phải chứa các ký tự từ ít nhất 3 trong 4 quy tắc sau:
- trường hợp Upper
- thấp hơn trường hợp
- số
- Non-alpha số
Tôi có thể làm cho biểu thức khớp với TẤT CẢ các quy tắc đó với biểu thức sau:
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.[\W]).{8,}$/
Nhưng tôi đang vật lộn với cách thực hiện điều này theo cách mà chỉ cần giải quyết bất kỳ 3 trong 4 quy tắc nào.
bất cứ ai có thể giúp tôi ra với điều này?
tôi phải nói rằng đây là một trong những trường hợp khi tôi nghĩ rằng mã của bạn có lẽ sẽ nhiều dễ đọc hơn nếu bạn có 4 regex khác nhau thay thế. Và sau đó có thể có một số và cho mỗi regex phù hợp với bạn tăng số lượng và sau đó vào cuối bạn chỉ cần kiểm tra nếu số là 3 hoặc cao hơn. –
Bạn đang sử dụng ngôn ngữ lập trình nào? – kennytm