powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / шаблон regexp_like для валидации пароля
16 сообщений из 16, страница 1 из 1
шаблон regexp_like для валидации пароля
    #39730675
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
доброго времени суток.
подскажите шаблон удовлетворяющий условию:
минимум 1 цифра
минимум 1 прописная буква
минимум 1 заглавная буква
минимум 1 спец символ
минимум 8 знаков

Код: sql
1.
2.
3.
4.
5.
6.
7.
with t as(
select 'qwertz21uiop' pass from dual union all   --no
select 'q1#z'  from dual union all    --no
select 'qwerKziop'  from dual union all --no
select 'qwer!tGo3pm'  from dual  -- yes.
)
select * from t
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730694
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir74,

как то так 18383895
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730702
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir74,

А так, сколько условий - столько лайков.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730729
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййvladimir74,

как то так 18383895
имено так пытался, не получается часть со спец. символами.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
with t as(
select 'qwertz21uiop' pass from dual union all   --no
select 'q1#z'  from dual union all    --no
select 'qwerKziop'  from dual union all --no
select 'qwer!tGo3pm'  from dual  -- yes.
)
select * from t
WHERE  REGEXP_LIKE(pass,'^[^0-9]+$|^[^a-zA-Z]+$|^[^-\$\\\#\@\!\?]{8,}$') ;






123ййvladimir74,

А так, сколько условий - столько лайков.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730735
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййvladimir74,

А так, сколько условий - столько лайков.
т.е. одного шаблона на разные случаи сделать нельзя?

Идея была в том, что есть много различных фирм. Каждая из этих фирм хочет свою валидацию. У кого то 8 символов, у кого то 6 У кого то обязательно все различные знаки, кому то хватает только буквы и цифры. Кто то хочет минимум 2 спец. символа.

думал, что с помощью регулярных выражений было бы проще всего.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730736
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно условие in
Код: plsql
1.
2.
3.
4.
5.
6.
not (length(pass) in (1,2,3,4,5,6,7,
                      length(translate(pass, '*'||'0123456789', '*')),
                      length(translate(pass, '0'||'abcdefghijklmnopqrstuvwxyz', '0')),
                      length(translate(pass, '0'||'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0')),
                      length(translate(pass, '0'||'!"#$%&''()*+,-./:;<=>?@[\]^_`{|}~', '0'))
    )                )
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730739
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, мой примкр вообще не работующий.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730745
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Одно условие in
Код: plsql
1.
2.
3.
4.
5.
6.
not (length(pass) in (1,2,3,4,5,6,7,
                      length(translate(pass, '*'||'0123456789', '*')),
                      length(translate(pass, '0'||'abcdefghijklmnopqrstuvwxyz', '0')),
                      length(translate(pass, '0'||'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0')),
                      length(translate(pass, '0'||'!"#$%&''()*+,-./:;<=>?@[\]^_`{|}~', '0'))
    )                )


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

Спасибо еще раз
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730746
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir74т.е. одного шаблона на разные случаи сделать нельзя?Нужно ли.
Код: plsql
1.
where regexp_replace(pass, '^(\D+|[^a-z]+|[^A-Z]+|[^[:punct:]]+|.{1,7})$') is not null
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730750
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicНужно ли.Потому что формочка, выглядящая близко к
vladimir74минимум 1 цифра
минимум 1 прописная буква
минимум 1 заглавная буква
минимум 1 спец символ
минимум 8 знаковбудет гораздо понятней пользователям.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730760
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала спасибо!!

ElicElicНужно ли.Потому что формочка, выглядящая близко к
vladimir74минимум 1 цифра
минимум 1 прописная буква
минимум 1 заглавная буква
минимум 1 спец символ
минимум 8 знаковбудет гораздо понятней пользователям.
формочка да. Тут я с тобой согласен.
Вопрос в обработке даных.
Этот шаблон надо сохранять отдельно для каждой фирмы. При смене пароля пользователь будет проверяться по шаблону своей фирмы.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730763
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir74Этот шаблон надо сохранять отдельно для каждой фирмы.Что ты упёрся в этот шаблон? Сохраняй сколько нужно реквизитов, описывающих сложность пароля, плюс функция/процедура по проверке.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730780
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicvladimir74Этот шаблон надо сохранять отдельно для каждой фирмы.Что ты упёрся в этот шаблон? Сохраняй сколько нужно реквизитов, описывающих сложность пароля, плюс функция/процедура по проверке.
Упёрся - это точно. Насчёт отдельного сохранения каждого проверочного блока - это и была моя вторая мысль. Просто хотелось как то красивее.

Хотя ладно, пока оставил с одним полем, в понедельник посмотрю. Может и в правду сделаю так, чтоб любой смертный (как и я) потом смог изменить условие.
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730783
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Код: plsql
1.
where regexp_replace(pass, '^(\D+|[^a-z]+|[^A-Z]+|[^[:punct:]]+|.{1,7})$') is not null

Или
Код: plsql
1.
where NOT regexp_like(pass, '^(\D+|[^a-z]+|[^A-Z]+|[^[:punct:]]+|.{1,7})$')
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730784
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir74,

Oracle предлагает делать это функцией. Подробнее тут .
...
Рейтинг: 0 / 0
шаблон regexp_like для валидации пароля
    #39730809
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,
:)

jan2ary,
и не только оракл :)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / шаблон regexp_like для валидации пароля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]