За последние 24 часа нас посетили 17599 программистов и 1312 роботов. Сейчас ищут 1053 программиста ...

Регулярное выражение для пароля

Тема в разделе "Регулярные выражения", создана пользователем galeevit, 21 авг 2015.

  1. galeevit

    galeevit Новичок

    С нами с:
    9 июл 2015
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте, мне нужно написать регулярное выражение для проверки символов в пароле.
    Требование:
    1)Допустимые символы в пароле: [a-zA-Z0-9]
    2)Обязательно должно быть: символы верхнего и нижнего регистра, а также цифры (минимум один символ каждого типа).
    3)Длина пароля от 8 до 12 символов.
    Вот вариант выражения:
    /(?=^.{8,12}$)(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])/;
    Данное выражение выполняет все требования окромя того, что возможен ввод других символов окромя [a-zA-Z0-9].
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    потому что достаточно взять 1) и дописать к нему лимиты из 3) обрамив это все указателями начала-конца строки.

    Добавлено спустя 1 минуту 13 секунд:
    а, вчитался в требования...
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    /^([0-9a-z]{8,10})$/i
    ^ - начало строки
    $ - конец строки

    ^ и $ помогают сделать так, чтобы весь текст попадал под регулярное выражение, например строго 8-12 символов
    i - регистро независимые символы


    Очень удобный сервис https://regex101.com/
     
  4. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ни что так не бесит, как требования к паролю на форуме очередного Василия Пупкина. Если вы не банк, за аккаунтами вашего сервиса не гоняются, как гонялись за пятизначными аськами, оставьте пароль на совести пользователя. Кому нужно зайти на один раз сделают пароль из трех единичек, у кого "паранойя моде он" придумают себе такое извращение, что любая регулярка сломается )
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    http://stackoverflow.com/a/14850765/272885
    в твоём случае конец регулярки будет выглядеть как {8,12}$/ а остальное как есть
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  7. galeevit

    galeevit Новичок

    С нами с:
    9 июл 2015
    Сообщения:
    3
    Симпатии:
    0
    Спасибо) Работает данное решение.
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    +1. У меня, например, пароль и так сложный. А на ряде сайтов приходится его упрощать, потому что такая вот хотелка у администраторов.
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    Такая же фигня. Бесит когда я ввожу нормальный пароль из большого набора символов, а сайт говорит "стоп! только латиница и цифры."

    Добавлено спустя 3 минуты 8 секунд:
    Считаю, что ограничивать надо только нижнюю границу - чтобы был не слишком простой. Да и то, лучше как рекомендацию, а не как требование.
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    Мне нравится, когда рядом с паролем пишут, мол слабый он или сильный, не ограничивая ничего. То есть, если пароль говно, тебе открыто об этом говорят, а ты уже сам принимай решение, нажимать OK или придумать новый.