Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2012, 16:37
Аспирант
Отправить личное сообщение для Artsemi Посмотреть профиль Найти все сообщения от Artsemi
 
Регистрация: 07.08.2012
Сообщений: 32

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


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

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

Получается мне нужно как-то порядок игнорировать... Помогите плиз уже голову сломал. решение походу очень простое, а я зациклился....
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2012, 17:02
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Artsemi, Приведите:
три правильных примера строки и два - неправильных
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2012, 17:04
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от 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
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2012, 17:09
Аспирант
Отправить личное сообщение для Artsemi Посмотреть профиль Найти все сообщения от Artsemi
 
Регистрация: 07.08.2012
Сообщений: 32

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

fH7, uuuuojnoLKFNU2, ffFF55;

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

Fh7, u8uJ, FFff55
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2012, 17:10
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

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

fH7, uuuuojnoLKFNU2, ffFF55;

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

Fh7, u8uJ, FFff55
а разве они не совпадают по вашим критериям? во всех вариантах есть маленькие, большие символы и цифры
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2012, 17:11
Аспирант
Отправить личное сообщение для Artsemi Посмотреть профиль Найти все сообщения от Artsemi
 
Регистрация: 07.08.2012
Сообщений: 32

devote,
спасибо за ответ ща попробую. А может проще в три переменные это все? Как правильнее?
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2012, 17:12
Аспирант
Отправить личное сообщение для Artsemi Посмотреть профиль Найти все сообщения от Artsemi
 
Регистрация: 07.08.2012
Сообщений: 32

Сообщение от devote Посмотреть сообщение
а разве они не совпадают по вашим критериям? во всех вариантах есть маленькие, большие символы и цифры
в разном порядке!!! это не подходит! Мне нужно чтобы пропускало пароли типа: "Hj8" - Это к примеру
Ответить с цитированием
  #8 (permalink)  
Старый 07.08.2012, 17:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Artsemi,
в моем варианте не прокатит напримпер такой пароль: HGFjkt76^Jhg
то есть символы не пройдут отличные от латинских и цифр
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 07.08.2012, 17:15
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

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

И почему второй является не правильным?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #10 (permalink)  
Старый 07.08.2012, 17:17
Аспирант
Отправить личное сообщение для Artsemi Посмотреть профиль Найти все сообщения от Artsemi
 
Регистрация: 07.08.2012
Сообщений: 32

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста с регулярным выражением serhanters Общие вопросы Javascript 8 12.07.2011 19:17
Нужно обрезать путь до файла регулярным выражением javascript_pupil Общие вопросы Javascript 3 22.11.2010 11:46
Проблема извлечения подстрок регулярным выражением Dotod Общие вопросы Javascript 4 17.05.2010 05:31
Извлечь значение параметра из location.search регулярным выражением? Бобр Общие вопросы Javascript 8 26.01.2010 01:01
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37