Θέλω μια κανονική έκφραση για να το ελέγξω αυτό:
Ένας κωδικός πρόσβασης περιέχει τουλάχιστον οκτώ χαρακτήρες, συμπεριλαμβανομένου τουλάχιστον ενός αριθμού και περιλαμβάνει πεζά και κεφαλαία γράμματα και ειδικούς χαρακτήρες, για παράδειγμα #
, ?
, !
.
Δεν μπορεί να είναι ο παλιός σας κωδικός πρόσβασης ή να περιέχει το όνομα χρήστη σας, "password"
, ή "websitename"
Και εδώ είναι η έκφραση επικύρωσής μου, η οποία είναι για οκτώ χαρακτήρες που περιλαμβάνουν ένα κεφαλαίο γράμμα, ένα πεζό γράμμα και έναν αριθμό ή ειδικό χαρακτήρα.
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
Πώς μπορώ να το γράψω για ένας κωδικός πρόσβασης πρέπει να αποτελείται από οκτώ χαρακτήρες, συμπεριλαμβανομένου ενός κεφαλαίου γράμματος, ενός ειδικού χαρακτήρα και αλφαριθμητικών χαρακτήρων;
Τουλάχιστον οκτώ χαρακτήρες, τουλάχιστον ένα γράμμα και ένας αριθμός:
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"
Τουλάχιστον οκτώ χαρακτήρες, τουλάχιστον ένα γράμμα, ένας αριθμός και ένας ειδικός χαρακτήρας:
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"
Τουλάχιστον οκτώ χαρακτήρες, τουλάχιστον ένα κεφαλαίο γράμμα, ένα πεζό γράμμα και ένας αριθμός:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
Τουλάχιστον οκτώ χαρακτήρες, τουλάχιστον ένα κεφαλαίο γράμμα, ένα πεζό γράμμα, ένας αριθμός και ένας ειδικός χαρακτήρας:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
Ελάχιστοι οκτώ και μέγιστοι 10 χαρακτήρες, τουλάχιστον ένα κεφαλαίο γράμμα, ένα πεζό γράμμα, ένας αριθμός και ένας ειδικός χαρακτήρας:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"
Μπορείτε να χρησιμοποιήσετε αυτό το regex με πολλαπλές lookahead assertions (conditions):
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
Αυτή η regex θα επιβάλει αυτούς τους κανόνες:
(?=.*;;[A-Z])
(?=.*;[a-z])
(?=.*;[0-9])
(?=.*;[#;!@$%^&*-])
.{8,}
(με τις άγκυρες)Απλά μια μικρή βελτίωση για την απάντηση του @anubhava's: Χρησιμοποιήστε το για οποιονδήποτε ειδικό χαρακτήρα:
^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$
Αυτή η regex θα επιβάλει αυτούς τους κανόνες: