Регулярное выражение для проверки пароля - PullRequest
27 голосов
/ 03 марта 2010

может помочь мне в создании регулярного выражения для проверки пароля.

Условие: «Пароль должен содержать 8 символов и, как минимум, одну цифру, одну букву и один уникальный символ, такой как !#$%&? "

Ответы [ 5 ]

55 голосов
/ 03 марта 2010
^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#$%&? "]).*$

---

^.*              : Start
(?=.{8,})        : Length
(?=.*[a-zA-Z])   : Letters
(?=.*\d)         : Digits
(?=.*[!#$%&? "]) : Special characters
.*$              : End
7 голосов
/ 12 августа 2013

Попробуйте это

((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\W]).{6,20})

Описание приведенного выше регулярного выражения:

(           # Start of group
  (?=.*\d)      #   must contains one digit from 0-9
  (?=.*[a-z])       #   must contains one lowercase characters
  (?=.*[\W])        #   must contains at least one special character
              .     #     match anything with previous condition checking
                {8,20}  #        length at least 8 characters and maximum of 20 
)           # End of group

"/ W" увеличит диапазон символов, которые можно использовать для пароля, а пит может быть более безопасным.

6 голосов
/ 03 марта 2010

Вы можете достаточно легко выполнить каждое из отдельных требований (например, минимум 8 символов: .{8,} будет соответствовать 8 или более символам).

Чтобы объединить их, вы можете использовать «положительный взгляд», чтобы применить несколько подвыражений к одному и тому же контенту. Что-то вроде (?=.*\d.*).{8,} для сопоставления одной (или нескольких) цифр с предвкушением и 8 или более символов.

Итак:

(?=.*\d.*)(?=.*[a-zA-Z].*)(?=.*[!#\$%&\?].*).{8,}

Запоминание метасимволов.

5 голосов
/ 10 октября 2015

Пароль со следующими условиями:

  1. Как минимум 1 цифра
  2. Как минимум 2 специальных символа
  3. Как минимум 1 буквенный символ
  4. Нет пробелов

    'use strict';
    (function() {
        var foo = '3g^g$';
    
        console.log(/^(?=.*\d)(?=(.*\W){2})(?=.*[a-zA-Z])(?!.*\s).{1,15}$/.test(foo));
    
        /**
         * (?=.*\d)         should contain at least 1 digit
         * (?=(.*\W){2})    should contain at least 2 special characters
         * (?=.*[a-zA-Z])   should contain at least 1 alphabetic character
         * (?!.*\s)         should not contain any blank space
         */
    })();
    
1 голос
/ 11 августа 2015

Вы можете создать собственное регулярное выражение для javascript проверок;

        (/^
        (?=.*\d)                //should contain at least one digit
        (?=.*[a-z])             //should contain at least one lower case
        (?=.*[A-Z])             //should contain at least one upper case
        [a-zA-Z0-9]{8,}         //should contain at least 8 from the mentioned characters

        $/)

Пример: - /^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...