Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы с регулярным выражением (https://javascript.ru/forum/misc/30530-problemy-s-regulyarnym-vyrazheniem.html)

Artsemi 07.08.2012 16:37

Проблемы с регулярным выражением
 
Нужно написать регулярку для проверки пароля.
Учитывать нужно следующее:
1) минимум один символ латинского алфавита маленького регистра;
2) минимум один символ латинского алфавита большого регистра;
3) минимум одна цифра.


написал следующее:
/^[a-z]+[A-Z]+[0-9]+$/

но пропускает только к примеру - "aS1" или "kGFDJNF23844".
"d1F" - уже неправильно.

Получается мне нужно как-то порядок игнорировать... Помогите плиз уже голову сломал. решение походу очень простое, а я зациклился....:blink:

Deff 07.08.2012 17:02

Artsemi, Приведите:
три правильных примера строки и два - неправильных

devote 07.08.2012 17:04

Цитата:

Сообщение от Artsemi
ужно написать регулярку для проверки пароля.

обычно такие вещи не решаются регами, либо нужно длинную лепить учитывая все комбинации:
var re = /[a-z]+[A-Z]+\d+|[A-Z]+[a-z]+\d+|[a-z]+\d+[A-Z]+|[A-Z]+\d+[a-z]+|\d+[a-z]+[A-Z]+|\d+[A-Z]+[a-z]+/;

alert( re.test( "aS1" ) ); // true
alert( re.test( "kGFDJNF23844" ) ); // true
alert( re.test( "d1F" ) ); // true
alert( re.test( "673jhh34je" ) ); // false

Artsemi 07.08.2012 17:09

Цитата:

Сообщение от Deff (Сообщение 195359)
Artsemi, Приведите:
три правильных примера строки и два - неправильных

Правильные:

fH7, uuuuojnoLKFNU2, ffFF55;

Неправильные:

Fh7, u8uJ, FFff55

devote 07.08.2012 17:10

Цитата:

Сообщение от Artsemi
Правильные:

fH7, uuuuojnoLKFNU2, ffFF55;

Неправильные:

Fh7, u8uJ, FFff55

а разве они не совпадают по вашим критериям? во всех вариантах есть маленькие, большие символы и цифры

Artsemi 07.08.2012 17:11

devote,
спасибо за ответ ща попробую. А может проще в три переменные это все? Как правильнее?

Artsemi 07.08.2012 17:12

Цитата:

Сообщение от devote (Сообщение 195364)
а разве они не совпадают по вашим критериям? во всех вариантах есть маленькие, большие символы и цифры

в разном порядке!!! это не подходит! Мне нужно чтобы пропускало пароли типа: "Hj8" - Это к примеру

devote 07.08.2012 17:14

Artsemi,
в моем варианте не прокатит напримпер такой пароль: HGFjkt76^Jhg
то есть символы не пройдут отличные от латинских и цифр

devote 07.08.2012 17:15

Artsemi,
всеравно я вас не понимаю.. чем отличается этот пароль:
ffFF55
от этого:
FFff55

И почему второй является не правильным?

Artsemi 07.08.2012 17:17

Цитата:

Сообщение от devote (Сообщение 195368)
Artsemi,
в моем варианте не прокатит напримпер такой пароль: HGFjkt76^Jhg
то есть символы не пройдут отличные от латинских и цифр

а мне этого не надо. Главное чтобы учитывало хотя бы один символ из каждой группы (маленькие, большие, цифры). И в любом порядке. Вроде работает! СПАСИБО!!!!:dance:


Часовой пояс GMT +3, время: 14:10.