Какой придумать пароль из 8 символов. Как написать пароль латинскими буквами и цифрами: php регулярные выражения кириллица. Как придумать надёжный пароль



Регулярное выражение для пароля должно содержать не менее восьми символов, как минимум одно число и буквы нижнего и верхнего регистра и специальные символы (15)

Используйте следующее Regex для выполнения следующих условий:

Conditions: 1] Min 1 special character. 2] Min 1 number. 3] Min 8 characters or More

Regex: ^(?=.*\d)(?=.*[#$@!%&*?]){8,}$

Может протестировать онлайн: https://regex101.com

Я хочу, чтобы регулярное выражение проверяло, что:

Пароль содержит не менее восьми символов, включая хотя бы одно число, и включает в себя как нижние, так и прописные буквы и специальные символы, например # ? , ! ,

Он не может быть вашим старым паролем или содержать ваше имя пользователя, "password" или "websitename"

И вот мое выражение проверки, которое предназначено для восьми символов, включая одну прописную букву, одну строчную букву и один номер или специальный символ.

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*)(?=.*).*$"

Как я могу написать его для пароля, должно быть восемь символов, включая одну заглавную букву, один специальный символ и буквенно-цифровые символы ?

@ClasG уже suggested:

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

но он не принимает _ (подчеркивание) как специальный символ (например, Aa12345_).

Улучшенный:

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*([^\w\s]|[_]))\S{8,}$

В Java / Android, чтобы проверить пароль с хотя бы одним номером, одной буквой, одним специальным символом в следующем шаблоне:

"^(?=.*)(?=.*\\d)(?=.*[$@$!%*#?&]){8,}$"

В соответствии с вашей потребностью эта модель должна работать нормально. Попробуй это,

^(?=(.*\d){1})(.*\S)(?=.*){8,}

Просто создайте строковую переменную, назначьте шаблон и создайте логический метод, который возвращает true, если шаблон правильный, иначе false.

String pattern = "^(?=(.*\d){1})(.*\S)(?=.*){8,}"; String password_string = "Type the password here" private boolean isValidPassword(String password_string) { return password_string.matches(Constants.passwordPattern); }

Импортируйте файл JavaScript jquery.validate.min.js .

Вы можете использовать этот метод:

$.validator.addMethod("pwcheck", function (value) { return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && //.test(value) && //.test(value) && //.test(value) });

  1. По крайней мере, одно английское письмо в верхнем регистре
  2. По крайней мере, одно строчное английское письмо
  3. По крайней мере, одна цифра
  4. По крайней мере один специальный символ

Надеюсь, что ниже работает. Я пробовал это в пользовательской политике Azure.

(? =. ) (? =. ) (? =. \ d) (? =. [@ # $% ^ & * -_ + = {} | \: ",? / ~"();!])({}|\\:",?/ ~" (); ] |. (?! @)) {6,16} $

Не напрямую отвечая на вопрос, но действительно ли это должно быть регулярное выражение?

Я использовал много Perl и привык к решению проблем с регулярными выражениями. Однако, когда они становятся более сложными со всеми взглядами и другими причудами, вам нужно написать десятки единичных тестов, чтобы убить все эти маленькие ошибки.

Кроме того, регулярное выражение обычно несколько раз медленнее, чем императивное или функциональное решение.

Например, следующая (не очень FP) функция Scala решает исходный вопрос примерно в три раза быстрее, чем регулярное выражение самого популярного ответа. То, что он делает, также настолько ясно, что вам не нужен единичный тест:

Def validatePassword(password: String): Boolean = { if (password.length < 8) return false var lower = false var upper = false var numbers = false var special = false password.foreach { c => if (c.isDigit) numbers = true else if (c.isLower) lower = true else if (c.isUpper) upper = true else special = true } lower && upper && numbers && special }

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

^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$

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

Function myFunction() { var str = "c1TTTTaTTT@"; var patt = new RegExp("^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$"); var res = patt.test(str); console.log("Is regular matches:", res); }

Просто мы можем сделать это, используя HTML5.

Используйте ниже код в атрибуте шаблона,

Pattern="(?=^.{8,}$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*)(?=.*).*$"

Он будет работать отлично.

Регулярные выражения не имеют оператора И, поэтому довольно сложно написать регулярное выражение, которое соответствует действительным паролям, когда действительность определена чем-то И что-то еще И что-то еще...

Но регулярные выражения имеют оператор OR, поэтому просто примените теорему ДеМоргана и напишите регулярное выражение, которое соответствует недопустимым паролям:

Все, что имеет менее восьми символов ИЛИ что-либо без цифр ИЛИ ничего, кроме прописных ИЛИ ИЛИ ничего, без строчных букв ИЛИ ничего, кроме специальных символов.

^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|*)$

Если что-то соответствует этому, то это неверный пароль.

Решение, которое я нашел в одном из предыдущих ответов:

Минимум 8 символов, по крайней мере, 1 алфавитный алфавит, 1 строчный алфавит, 1 номер и 1 специальный символ: «^ (? =. ) (? =. ) (? =. \ D) (? =. [ $ @ $!% ? &]) {8,} "

Не работает для меня, но следующая упрощенная версия и отлично работает (добавьте любой специальный символ, который вам нравится, я добавил здесь #) и добавьте правило числа так же, как и в случае с буквами:

"^(?=.*)(?=.*)(?=.*)(?=.*[$@$!%*?&]){8,}"

Я бы ответил Питеру Мортенсену, но у меня недостаточно репутации.

Его выражения идеально подходят для каждого из указанных минимальных требований. Проблема с его выражениями, которые не требуют специальных символов, заключается в том, что они также не имеют специальных символов, а также обеспечивают максимальные требования, которые я не верю в просьбу ОП. Обычно вы хотите, чтобы ваши пользователи сделали свой пароль столь же сильным, насколько они хотят; зачем ограничивать надежные пароли?

Итак, его «минимум восемь символов, хотя бы одно письмо и одно число»:

^(?=.*)(?=.*\d){8,}$

достигает минимального требования, но остальные символы могут быть только буквой и цифрами. Чтобы разрешить (но не требовать) специальные символы, вы должны использовать что-то вроде:

^(?=.*)(?=.*\d).{8,}$ чтобы разрешить любые символы

^(?=.*)(?=.*\d){8,}$ чтобы разрешить специальные специальные символы

Аналогично, «минимум восемь символов, по крайней мере одна заглавная буква, одна строчная буква и одно число:

^(?=.*)(?=.*)(?=.*\d){8,}$

соответствует этому минимальному требованию, но допускает только буквы и цифры. Использование:

^(?=.*)(?=.*)(?=.*\d).{8,}$ чтобы разрешить любые символы

^(?=.*)(?=.*)(?=.*\d){8,} чтобы разрешить специальные специальные символы.

Use the following Regex to satisfy the below conditions: Conditions: 1] Min 1 uppercase letter. 2] Min 1 lowercase letter. 3] Min 1 special character. 4] Min 1 number. 5] Min 8 characters. 6] Max 30 characters. Regex: /^(?=.*)(?=.*)(?=.*\d)(?=.*[#$@!%&*?]){8,30}$/

Генератор паролей создает пароли в реальном времени. Созданные пароли нигде не сохраняются и отображаются только на Вашем устройстве (ПК, планшете или смартфоне).

Каждый раз при изменении настроек, нажатии кнопки "Сгенерировать" или перезагрузке страницы создаются новые пароли.

"По умолчанию" для генерации паролей используются английские строчные и заглавные буквы, цифры и некоторые служебные символы. Для изменения списка символов используйте "Настройки генератора паролей"

Настройки генератора паролей

Длина пароля
Генератор паролей создает пароли длиной от 5 до 30 символов. Изначально генерируются пароли длиной 10 символов. Вообще, не рекомендуется использовать пароли длиной меньше 7 символов. Использование более длинных паролей рекомендуется для более стойкой защиты от взлома, но скорее всего будет неудобно для сохранения или запоминания.

Английские и русские буквы
Традиционно, для паролей используются английские (латинские) буквы, однако, можно использовать и русские. Русские буквы значительно повышают сложность паролей при попытке взлома путем перебора, но будьте осторожны, возможно, некоторые системы не поддерживают пароли, в составе которых есть кириллица. Рекомендуется предварительно проверить.

Цифры
Цифры в пароле должны быть обязательно. Наличие цифр в пароле улучшает качество пароля, при этом пароли с цифрами легче запоминаются.

Специальные символы
Пароли, в состав которых входят специальные символы, наиболее стойкие к взлому. Многие системы при регистрации требуют, чтобы в состав пароля обязательно входили служебные символы. Рекомендуем не пренебрегать использованием подобных символов и включать их в состав генерируемого пароля.

Исключения

Русские символы похожие на английские и английские символы похожие на русские
Если при использовании генератора паролей онлайн Вы используете как английские, так и русские буквы, можете столкнуться с проблемой визуальной "похожести" некоторых английских и русских символов. Такие буквы как А и A, B и В, С и C, E и Е (а, ай, вэ, би, эс, си, е, и) - это разные буквы, хотя и выглядят одинаково. Для того чтобы избежать путаницы при последующем использовании паролей, воспользуйтесь соответствующим пунктом настроек.

Исключить гласные или исключить согласные
Используйте эти пункты дополнительных настроек если хотите исключить гласные или согласные буквы при генерации паролей.

Исключить похожие символы
Посмотрите на символы I, l, 1, | (ай, эль, единица, вертикальная черта). Такие буквы, символы и цифры очень похожи при написании, поэтому могут возникнуть ошибки при сохранении и последующем использовании пароля. Для того чтобы исключить подобные ошибки, воспользуйтесь этим пунктом настроек.

Другие настройки

Список используемых символов
В окне списка используемых символов генератора паролей находятся все те символы, из которых составляются пароли с учетом текущих настроек. Список можно редактировать - удалять ненужные и добавлять необходимые Вам символы. При удалении или добавлении символов в окне редактирования списка, автоматически генерируются новые пароли, с учётом произведенных изменений.

Сбросить настройки
Все настройки, произведенные в процессе использования генератора паролей, автоматически сохраняются в памяти (cookies) Вашего браузера. Сохраняются именно настройки, но не пароли! Как уже упоминалось выше - пароли каждый раз генерируются новые. Для того чтобы сбросить настройки в первоначальное состояние, используйте ссылку "Сбросить настройки". При сбросе автоматически генерируются новые пароли с учетом первоначальных настроек.

Ссылка на генератор паролей
Если хотите отправить ссылку на "Генератор паролей" другу или опубликовать в социальных сетях, скопируйте адрес из специального окна находящегося в нижней части корпуса генератора. Вместе с ссылкой передаются и выбранные Вами настройки.

Пароли, пароли, пароли – в Интернете они нужны повсюду. Каждый раз приходится думать, какой поставить пароль, чтобы его не смогли взломать. Итак, какой должен быть пароль?

Признаки надежного пароля

  • Пароль должен быть длинным, т.е. должен содержать от 8 до 12 символов.
  • Хороший пароль содержит буквы верхнего (А, П, V, W) и нижнего (м, д, f, j) регистров, символы (#, @, ~,^), знаки препинания и пробелы.
  • Составляя пароль, исключите данные, содержащие информацию о Вас и вашей семье (имена, фамилии, памятные даты, номера телефонов).
  • Откажитесь от пароля, включающего полностью написанные любого языка, крылатые фразы, известные цитаты.
  • Не используйте пароли 12345, qwerty и тому подобные. Да, об этом все знают, но такие пароли по-прежнему популярны.
  • Избегайте паролей, совпадающих с логином. Конечно, такой пароль проще всего набирать и не нужно запоминать, но и взломать его элементарно.

Старайтесь периодически обновлять и использовать разные пароли на всех сайтах и форумах.

Как придумать сложный пароль?

Есть несколько эффективных способов придумать надежный пароль:

  • Смешение. Набираем кириллическое слово латинским регистром, вставляем после каждой буквы значимые для Вас цифры (номер дома, квартиры) или трансформируем некоторые буквы в цифры (вместо буквы Б ставим цифру 6, вместо Я – 9I и т.п.)
  • Набираем слово или словосочетание с пробелами в неправильных местах. Например, «мо йпа роль».
  • Вводим фразу, попеременно нажимая клавишу Shift. Например, ВоТ-ВеДьЗ@сАдА
  • Выбираем два слова – имя прилагательное (свободный) и глагол (бегать). Добавляем знаменательный год, например 1980 и любой символ. Получаем: Свободный19%БеГать80!
  • Придумываем пароль с орфографическими ошибками и снабжаем его символами и цифрами: КоКой№&_Пороль.
  • Вспоминаем русский фольклор или поэзию и шифруем послание. Например, возьмем пословицу «Терпение и труд все перетрут». Запишем каждую первую букву каждого слова на английском языке в нижнем регистре, а каждую вторую – в верхнем. Между словами поставим знаки препинания. Получаем: tE!i?tR?vS!pT.

Сложновато? Зато пароль, который Вы придумаете таким способом, будет надежным.

Если придумать пароль не получается, воспользуйтесь генераторами паролей:

Как придумать логин

Ни одна регистрация на сайте не проходит без использования логина. Логин – набор символов (букв или цифр), означающих ваше имя в сети. Логин вводится вместе с паролем для дальнейшей авторизации. Подходить к подбору логина нужно основательно.

Если логин будет использоваться для работы, желательно указать настоящее имя и фамилию (Petr-Ivanov, Petr_Ivanov, Petr.Ivanov). Такой логин уже занят? Добавьте отчество. И такой вариант недоступен? Присоедините к имени название профессии, можно в сокращенном виде. Например: Alexei-Pirogov-PR, Vasiliy-Toropov-photo.

Если логин нужен для личных целей, можно:

  • Придумать логин, используя любимое слово или фразу, имя известного человека, персонажа, название музыкальной группы.
  • Вспомнить о хобби и придумать логин, основываясь на предпочтениях мира искусства и техники.
  • Составить логин из слов любого иностранного языка.
  • Применить зеркальный способ и напечатать имя наоборот.
  • Воспользоваться генератором логинов.

Программы для совместной работы: выбираем лучший сервис!

Таск-трекеры, они же таск-менеджеры или сервисы для совместной работы – главные цифровые помощники современных менеджеров различного уровня. А …

Продвижение услуг в поисковых системах

Продвижение в поисковых системах – один из самых дешевых каналов для привлечения клиентов. Но заказать продвижение в агентстве может не каждый …

Любой человек, который пользуется Интернетом, наверняка не раз сталкивался с необходимостью придумывать и устанавливать пароли: для входа в почту, для учётной записи на форуме, для онлайн-банкинга. И практически в каждой форме регистрации вам советуют придумать надёжный пароль. Ведь от того, насколько сложным будет ваше секретное слово или фраза, зависит и конфиденциальность вашей переписки, и сохранность ваших денежных средств, и безопасность вашего компьютера вцелом. Возникает вопрос: как же придумать сложный пароль?

Как придумать надёжный пароль

Длина . Рекомендуемая минимальная длина надёжного пароля — 8 символов. Считается, что взламывать пароли длиной 8 и более символов путём подбора — чересчур долгий процесс и шансы злоумышленника подобрать такую комбинацию чересчур малы.

Регистр . Хороший пароль должен содержать буквы как нижнего, так и верхнего регистров.

Спецсимволы . Сверх надёжный пароль наряду с буквами и цифрами содержит ещё и спецсимволы. Например #, ~,+, _

Итого, идеальным вариантом будет комбинация латинских букв верхнего и нижнего регистров, цифр и спецсимволов общей длиной не менее 8 символов. Например:

uE_xm932
9203Jb#1
29Rtaq!2

Что ни в коем случае нельзя использовать в качестве пароля

Никогда не используйте в качестве пароля или секретного слова:

  • даты рождения
    Самая большая глупость — установить свою собственную дату рождения в формате 12071992 в качестве пароля к своей странице Вконтакте, где эта же дата указана в информации 🙂
  • номера телефонов
    Пароль, состоящий из номера вашего телефона, не взломает только ленивый. И здесь неважно, сколько будет цифр 🙂
  • имена, фамилии, клички животных
    Смешно, когда люди считают магически надёжной защитой девичью фамилию матери. …которую уже 50 лет знает весь двор 🙂
  • ну и естественно, всякие глупости вроде «qwerty123» , «пароль» , «password» , «********» , «123» , «12345678» , «фыва» , «asdf» и т.д. Кстати, лидер среди паролей секретарш — «единичка» , т.е. одна единственная цифра «1» 🙂

Заключение

Не пренебрегайте своей безопасностью.

Раскладка клавиатуры и пароль

Не используйте одни и те же секретные слова для авторизации на разных сайтах и сервисах. Взломав один сайт злоумышленники могут получить доступ ко всем вашим аккаунтам в сети. Например, получат доступ к вашему облачному диску или Google Фото. И помните: нет ничего более постоянного, чем временное. Поэтому не ленитесь придумывать надежные комбинации и устанавливайте сложные пароли сразу — не откладывайте это дело на потом. Пускай ваша информация будет доступна только вам! Удачи!

Возможно, будет интересно:

Фонетика латыни

Латинский алфавит

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

Латинский алфавит , берущий свое начало от греческого алфавита, — а по некоторым источникам — этрусского алфавита, сформировался примерно в VII веке до н.э.

Современный латинский алфавит включает 26 букв .

Буквы латинского алфавита:

Прописные
буквы
латинского
алфавита
Строчные
буквы
латинского
алфавита
Название
буквы
латинского
алфавита
Произношение
буквы
латинского
алфавита
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
а
бэ
цэ
дэ
е, э
эф
гэ
га, ха
и
йот, йота
ка
эль
эм
эн
о
пэ
ку
эр
эс
тэ
у
вэ
дубль-вэ
икс
ипсилон
зета
[а]
[б]
[ц]
[д]
[э]
[ф]
[г]
[г]
[и]
[й]
[к]
[л]
[м]
[н]
[о]
[п]
[к]
[р]
[с]
[т]
[у]
[в]
[в]
[кс]
[и]
[з], [дз]

Первоначально латинский алфавит включал только 21 букву :
A B C D E F Z H I K L M N O P Q R S T V X.

Затем в течение достаточного длительного периода латинский алфавит подвергся следующим преобразованиям:
— в 312 году до н.э.

из него была исключена буква Z и латинский алфавит сократился до 20 букв;
— в 234 году до н. э.

Как придумать надежный пароль и логин?

была создана буква G путем добавления к C поперечной черточки (ранее буква C использовалась для обозначения двух звуков — [k] и [g]);
— в I веке до н. э. были добавлены буквы Y и Z для записи слов, заимствованных из греческого языка.

В итоге получился классический латинский алфавит из 23 букв:
A B C D E F G H I K L M N O P Q R S T V X Y Z

В Средние века латинский алфавит претерпел последние модификации:
— в 11 веке к алфавиту была добавлена буква W ;
— в 16 веке были введены буквы J и U ,
и обрел свою современную форму.

Однако, зачастую, говоря об алфавите собственно латинского языка , считают, что латинский алфавит состоит из 25 букв . Это связано с тем, буква W, употребляемая преимущественно при написании немецких и английских фамилий, в этом случае в состав букв латинского алфавита не включается.

Перейти к другим материалам разделов:
Фонетика латыни
Латинская грамматика
Римские цифры

латинский пароль из 8символов

Lynn «Кофеман»[досье]

Да, Вы абсолютно правы. Спасибо за Ваше выражение. Я в регулярках слаб, поэтому методом подбора делал.

AB…[досье]
А я бы просто разбил дату на три составляющих (split метод), а потом уже делал нормальную проверку с проверкой февраля и високосного года.

Выражение нужно было для проверки даты при вводе до отправки данных. Но, допустим, вот Вам ввели "sds20.dfsdf546sdf20.sdf.dfgd.dfgfg02.135151351." интересно каким образом помог бы Вам здесь split?

Ой, опечатался, в скобки забыл, тыща извинений(. Могут быть еще баги — код не проверял, это демо идеи.

tcolonel[досье], с функционально эквивалентной регуляркой (февраль, високосные годы и т.п.;)?

Как создать надёжный пароль

tcolonel[досье] Ваша регулярка вредна потому что создает мнимое ощущение безопасности, рано или поздно упоритесь сами или тот кто будет сопровождать. Если код не решает задачу должным образом то его эффективность весьма сомнительна, также как и экономия на спичках за счет качества и безопасности. Это не профессиональный подход. Надеюсь вы воспримите это не как личное оскорбление 😉

Уважаемый автор, взгляните на проблему с другой плоскости и вы сами поймете, что вам подсказывают более верный путь решения проблемы в замен того, куда вы идете. Мне напоминает ваши действия как наложения изоленты на трещину.

сообщение промодерировано

Принимает дату 11.00.2006

Используйте следующее выражение, которое как бонус уже проводит проверку на высокосный год. Пользуйтесь, господа!

Доброго всем времени суток, помогите составить регулярное выражение для даты формата dd.mm.yyyy.
Составил простое:

/(\d{2}\.\d{2}\.\d{4})/

но, могу вводить 32.32.yyyy. А нужно ограничить ввод для дней — 31, месяцев — 12.

Попробовал такое:

/()\.()\.(\d{4})/

но, не работает правильно, из

12.12.2009 01.12.2009 01.02.2009 10.14.2009

находит только 2 совпадения:

1: 01.12.2009 2: 01.02.2009

Вот что получилось в итоге:

/(({1}{1})|({1}{1}))\.({1}{1}|({1}{1}))\.(\d{4})/

может кто-то придумает лучше и прокомментирует это выражение (вроде работает верно)?

— бессмысленный квантификатор.
Кстати, у вас неправльное выражение, нельзя ввести 20 число и 10 месяц.

Я бы написал что-то такое:

/(\d|3)\.(0\d|1)\.(\d{4})/

/(\d|3)\.(0\d|1)\.(\d{4})/ кстати, интересное выражение, я и не знал что так можно …

tcolonel[досье] а все гораздо проще, чем вы себе предстовляете. есть несколько вариантов решения. вот вам парочка к примеру:

  1. не давать возможность пользователю вводить произвольные данные, заблокировать ввод в данное поля и при этом использовать в связке только календарь.
  2. если даете возможность свободного ввода, то перед отправкой делаете элементарные проверки и если что-то не так рекомендуете исправить. в данном варианте и проводите нормальную проверку даты о которой я уже упоминал. как делается, как отсикать мусор при этом и какое событие при этом всем используется пожалуй обяъснять не стоит в данной конкретной теме.

Как-то так?

function dateIsCorrect(dateString) {
var parts = dateString.split(‘.’);
if (parts.length != 3) return false;
try {
var tmpDate = new Date(parts, parts, parts, 12);
return (dateString == tmpDate.getDate() + ‘.’ + tmpDate.getMonth + ‘.’ + tmpDate.getFullYear());
} catch (ex) { return false; }
}

Если дата недопустима, объект Date пересчитает ее в соответствующую нормальную, и при обратном преобразовании в строку она не будет совпадать с исходной.

AB…[досье]Да это все понятно, если не говорить об экономии и эффективности кода, то можно целые алгоритмы сделать, только смотрите сколько действий лишних — против одной строки кода с регулярным выражением)))

Илья Cтpeльцын aka SelenIT[досье] Тоже неплохой вариант — спасибо, но, в нем много кода по сравнению с одной строчкой кода с регуляркой.

Всем спасибо за участие.

Илья Cтpeльцын aka SelenIT[досье] с функционально эквивалентной регуляркой (февраль, високосные годы и т.п.;)?

согласен.

Thirteensmay[досье] Ваша регулярка вредна потому что создает мнимое ощущение безопасности, рано или поздно упоритесь сами или тот кто будет сопровождать. Если код не решает задачу должным образом то его эффективность весьма сомнительна, также как и экономия на спичках за счет качества и безопасности. Это не профессиональный подход. Надеюсь вы воспримите это не как личное оскорбление 😉

согласен.

AB…[досье] Уважаемый автор, взгляните на проблему с другой плоскости и вы сами поймете, что вам подсказывают более верный путь решения проблемы в замен того, куда вы идете. Мне напоминает ваши действия как наложения изоленты на трещину.

согласен.

Господа, со всеми согласен. Спасибо за конструктивную критику. Выбор пал на регулярное выражение, потому что то, что оно делает именно для этого проекта вполне достаточно. И нет необходимости столь "жесткой" проверки.

P.S: Учтя все Ваши замечания в другом проекте я уже пошел другим путем. И поступил как советовал AB…[досье] в своем первом посте.

Кто вот это написал, спасибо тебе огромное)))

Не используйте выражение, которое предлагалось выше

/(\d|3)\.(0\d|1)\.(\d{4})/
Принимает дату 11.00.2006

Используйте следующее выражение, которое как бонус уже проводит проверку на высокосный год.

Пользуйтесь, господа!

^(((0|\d|3)\.(0|1)\.((19|\d)\d{2}))|((0|\d|30)\.(0|1)\.((19|\d)\d{2}))|((0|1\d|2)\.02\.((19|\d)\d{2}))|(29\.02\.((1|\d)(0||)|((16||)00))))$

Мне нужно регулярное выражение, чтобы проверить это:

Пароль содержит не менее восьми символов, включая не менее одного числа, и включает в себя как строчные, так и прописные буквы и специальные символы, например # , ? , ! .

Это не может быть ваш старый пароль или содержать ваше имя пользователя, "password" или "websitename"

А вот мое валидационное выражение, которое предназначено для восьми символов, включая одну прописную букву, одну строчную букву и одно число или специальный символ.

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*)(?=.*).*$"

Как я могу написать его для пароля должно быть восемь символов, включая одну заглавную букву, один специальный символ и буквенно-цифровые символы ?

javascript asp.net regex

24 Ответов


877

Минимум восемь символов, по крайней мере одна буква и одна цифра:

"^(?=.*)(?=.*\d){8,}$"

Минимум восемь символов, по крайней мере одна буква, одна цифра и один специальный символ:

"^(?=.*)(?=.*\d)(?=.*[@$!%*#?&]){8,}$"

Минимум восемь символов, по крайней мере одна заглавная буква, одна строчная буква и одна цифра:

"^(?=.*)(?=.*)(?=.*\d){8,}$"

Минимум восемь символов, по крайней мере одна заглавная буква, одна строчная буква, одно число и один специальный символ:

"^(?=.*)(?=.*)(?=.*\d)(?=.*[@$!%*?&]){8,}$"

Минимум восемь и максимум 10 символов, по крайней мере одна заглавная буква, одна строчная буква, одно число и один специальный символ:

"^(?=.*)(?=.*)(?=.*\d)(?=.*[@$!%*?&]){8,10}$"


53

Регулярные выражения не имеют оператора AND, поэтому довольно трудно написать regex, который соответствует действительным паролям, когда действительность определяется чем-то AND, чем-то еще AND, чем-то еще...

Но регулярные выражения имеют оператор OR, поэтому просто примените теорему DeMorgan и напишите regex, который соответствует недопустимым паролям:

Все, что содержит менее восьми символов OR все, что не содержит цифр OR все, что не содержит прописных букв OR или ничего, что не содержит строчных букв OR все, что не содержит специальных символов.

^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|*)$

Если что-то соответствует этому, то это неверный пароль.


29

Только небольшое улучшение для @anubhava"s ответа: так как специальные символы ограничены теми, что находятся на клавиатуре, используйте это для любого специального символа:

^(?=.*?)(?=(.*){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$

Этот regex будет применять эти правила:

  • По крайней мере одна заглавная английская буква
  • По крайней мере одна строчная английская буква
  • Хотя бы одна цифра
  • Хотя бы один специальный символ
  • Минимум восемь в длину


20

У меня были некоторые трудности с тем, чтобы следовать самому популярному ответу для моих обстоятельств. Например, моя проверка была неудачной с такими символами, как; или [ . Меня не интересовал белый список моих специальных символов, поэтому я вместо этого использовал [^\w\s] в качестве теста - проще говоря - сопоставление не словесных символов (включая числовые) и не пробелов. Подводя итог, вот что сработало для меня...

  • по крайней мере 8 персонажей
  • как минимум 1 числовой символ
  • как минимум 1 строчная буква
  • как минимум 1 заглавная буква
  • как минимум 1 специальный символ
/^(?=.*?)(?=.*?)(?=.*?)(?=.*?[^\w\s]).{8,}$/ ^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

но он не принимает _(подчеркивание) в качестве специального символа (например. Aa12345_).

Улучшенное одно:

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*([^\w\s]|[_]))\S{8,}$


2

Я нашел здесь много проблем, так что я сделал свой собственный.

Вот он во всей своей красе, с испытаниями:

^(?=.*)(?=.*)(?=.*\d)(?=.*([^a-zA-Z\d\s])).{9,}$

Есть на что обратить внимание:

  1. не использует \w , потому что это включает в себя _ , который я тестирую.
  2. У меня было много проблем с подбором символов, не совпадая с концом строки.
  3. Не указывает символы конкретно, это также связано с тем, что разные локали могут иметь разные символы на своих клавиатурах, которые они могут захотеть использовать.


1

Просто мы можем сделать это с помощью HTML5.

Используйте приведенный ниже код в атрибуте pattern,

Pattern="(?=^.{8,}$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*)(?=.*).*$"

Он будет работать идеально.


1

Вы можете использовать приведенный ниже шаблон регулярного выражения для проверки пароля, соответствует ли он вашим ожиданиям или нет.

((?=.*\\d)(?=.*)(?=.*)(?=.*[~!@#$%^&*()]).{8,20})


1

Используйте следующие Regex для выполнения следующих условий:

Conditions: 1] Min 1 special character. 2] Min 1 number. 3] Min 8 characters or More

Regex: ^(?=.*\d)(?=.*[#$@!%&*?]){8,}$


0

В Java/Android, проверить пароль хотя бы с одной цифрой, одной буквой, одним специальным символом по следующей схеме:

"^(?=.*)(?=.*\\d)(?=.*[$@$!%*#?&]){8,}$"


0

Попробовать это:

^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$

Это регулярное выражение работает для меня идеально.

Function myFunction() { var str = "c1TTTTaTTT@"; var patt = new RegExp("^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$"); var res = patt.test(str); console.log("Is regular matches:", res); }


0

Надеюсь, что ниже работает. Я попробовал это в пользовательской политике Azure.

^(?=. ) (?=. ) (?=. \d)(?=. [@#$%^&*-_+={}|\:",?/ ~"();!])({}|\\:",?/ ~"();!]|.(?!@)){6,16}$


-1

Решение, которое я нашел в одном из предыдущих ответов, как:

Минимум 8 символов минимум 1 заглавный алфавит, 1 строчный алфавит, 1 число и 1 специальный символ: "^(?=. ) (?=. ) (?=. \d)(?=. [$@$!% ?&]){8 ,}" ..

.

это не сработало для меня, но следующая упрощенная версия и отлично работает (добавьте любой специальный символ, который вам нравится, я добавил # здесь), а также добавьте правило числа, как вы делаете с буквами как:

"^(?=.*)(?=.*)(?=.*)(?=.*[$@$!%*?&]){8,}"


Regex проверка пароля с помощью условного оператора Java

Я новичок в regex. В основном мне нужно проверить пароль в Java для следующего требования: Пароль должен содержать не менее шести символов. Пароль может содержать не более 20 символов Для того,...


regex разрешить только буквы, цифры, точки, подчеркивания, тире. не менее 5 символов

Как сделать regex подходят ниже правил разрешить только буквы (прописные или строчные), цифры, точки, подчеркивания, тире не менее 5 символов не может содержать общих терминов или расширений...


Regex, чтобы "запретить специальные символы или пробелы", но "разрешить числа и "uppercase" OR "lowercase" букв"

Я уже этим пользуюсь regex: ^{6,}$ он позволяет: цифры, прописные буквы, строчные буквы. он запрещает: пробелы и специальные символы или символы. Но я хочу изменить его на: - разрешить:...


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

Мне нужна помощь в создании пароля regex. Пароль должен содержать не менее 4 символов, буквы (прописные и строчные), цифры и специальные символы - без пробелов. МСН как регулярное выражение.


Regex для комбинации заданных правил

Я пытаюсь написать regex, чтобы проверить пароль для данного правила. Пароли должны иметь длину не менее 8 символов и содержать не менее 3 из следующих 4 типов символов: строчные буквы (например,...


Один regex для комплексной проверки пароля

Я должен проверить пароль, чтобы они соответствовали этим правилам A) пароль должен содержать символы из 3 из следующих 4 классов: Английские Заглавные Буквы A, B, C, ... Зет Английские строчные...


Regex пароль должен содержать не менее 8 символов, не менее 1 цифры, буквы и специальные символы

Мне нужно регулярное выражение, которое должно иметь по крайней мере один числовой символ, как верхний, так и нижний регистр букв разрешен, специальные символы также разрешены я использую это...


Regex для пароля длиной не менее 6 символов

Мне нужен regex для проверки пароля с нижеприведенными условиями Длина не менее 6 символов Должно содержать не менее 1 буквы Должно содержать не менее 1 числа Если пароль содержит специальные...


Узор иногда совпадал а иногда нет

Я реализовал шаблон в angular 5 со следующим кодом в поле.ts-файл для проверки пароля. Это должно быть сделано-поддержка минимум восьми символов, по крайней мере одной прописной буквы, одной...


regex для паролей длиной не менее 8 символов, прописных,строчных, цифр, специальных символов и не повторяющихся?

Привет я хочу найти регулярное выражение, которое удовлетворяет этим условиям. (1) пароли должны быть не менее 8 символов (2) он должен содержать по крайней мере заглавные, строчные буквы, цифры и...

263 Swapnil Tatkondawar

Я хочу, чтобы регулярное выражение проверяло, что:

Пароль содержит не менее восьми символов, включая хотя бы одно число, и включает в себя как буквы нижнего, так и верхнего регистра и специальные символы, например # , ? , ! .

Это не может быть ваш старый пароль или содержать ваше имя пользователя, "password" или "websitename"

И вот мое выражение проверки, которое предназначено для восьми символов, включая одну прописную букву, одну строчную букву и один номер или специальный символ.

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*)(?=.*).*$"

Как я могу написать его для , пароль должен содержать восемь символов, включая одну заглавную букву, один специальный символ и буквенно-цифровые символы ?

javascript regex asp.net

24 ответа

Минимум восемь символов, как минимум одна буква и одна цифра:

"^(?=.*)(?=.*\d){8,}$"

Минимум восемь символов, как минимум одна буква, одна цифра и один специальный символ:

"^(?=.*)(?=.*\d)(?=.*[@$!%*#?&]) $!%*#?&]{8,}$"

Минимум восемь символов, как минимум одна заглавная буква, одна строчная буква и одна цифра:

"^(?=.*)(?=.*)(?=.*\d){8,}$"

Минимум восемь символов, как минимум одна заглавная буква, одна строчная буква, одна цифра и один специальный символ:

$!%*?&]{8,}$"

Минимум восемь и максимум 10 символов, как минимум одна заглавная буква, одна строчная буква, одна цифра и один специальный символ:

"^(?=.*)(?=.*)(?=.*\d)(?=.*[@$!%*?&]) $!%*?&]{8,10}$"

Регулярные выражения не имеют оператора И, поэтому довольно сложно написать регулярное выражение, которое соответствует действительным паролям, когда действительность определяется чем-то И что-то еще И что-то еще...

Но регулярные выражения имеют оператор OR, поэтому просто примените теорему ДеМоргана и напишите регулярное выражение, которое соответствует недопустимым паролям:

Все, что содержит менее восьми символов ИЛИ ничего, без цифр ИЛИ , без прописных букв ИЛИ или ничего, кроме строчных ИЛИ ничего, у которого нет специальных символов.

^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|*)$

Если что-то соответствует этому, тогда это неверный пароль.

Просто небольшое улучшение для ответа @anubhava: поскольку специальный символ ограничен теми, что есть на клавиатуре, используйте его для любого специального символа:

^(?=.*?)(?=(.*){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$

Это регулярное выражение будет выполнять следующие правила:

  • Как минимум одна верхняя буква Английская буква
  • По крайней мере, одна строчная английская буква
  • Как минимум одна цифра
  • Как минимум один специальный символ
  • Минимум восемь в длину

У меня возникла трудность, следуя самым популярным ответам на мои обстоятельства. Например, моя проверка не срабатывала с такими символами, как; или [ . Меня не интересовали белые листинга моих специальных символов, поэтому я вместо этого использовал [^\w\s] как тест - просто поместил - совпадал с символами без слов (включая числовые) и без пробелов. Подводя итог, вот что сработало для меня...

  • не менее 8 символов
  • не менее 1 числовой символ
  • не менее 1 строчная буква
  • не менее 1 прописная буква
  • не менее 1 специальный символ
/^(?=.*?)(?=.*?)(?=.*?)(?=.*?[^\w\s]).{8,}$/

Я бы ответил Петру Мортенсену, но мне не хватает репутации.

Его выражения идеально подходят для каждого из указанных минимальных требований. Проблема с его выражениями, которые не требуют специальных символов, состоит в том, что они также НЕ ДОПУСКАЮТ специальных символов, поэтому они также обеспечивают максимальные требования, которые, как я полагаю, не запрошен OP. Обычно вы хотите, чтобы ваши пользователи делали свои пароли настолько надежными, насколько им хочется; зачем ограничивать надежные пароли?

Итак, его выражение "минимум восемь символов, хотя бы одна буква и одна цифра":

^(?=.*)(?=.*\d){8,}$

достигается минимальное требование, но остальные символы могут быть только буквой и цифрой. Чтобы разрешить (но не требовать) специальные символы, вы должны использовать что-то вроде:

^(?=.*)(?=.*\d).{8,}$ чтобы разрешить любые символы

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

но он не принимает _ (подчеркивание) в качестве специального символа (например, Aa12345_).

Улучшенный это:

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*([^\w\s]|[_]))\S{8,}$

Используйте следующее регулярное выражение, чтобы выполнить следующие условия:

Conditions: 1] Min 1 special character. 2] Min 1 number. 3] Min 8 characters or More

Понравилась статья? Поделиться с друзьями: