Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Регулярные выражения
 
 автор: Moondev   (25.05.2005 в 20:53)
 
 

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

Задача - проверка пароля - который может состоять из любых латинских букв и цифр и длина которого должна находиться в пределах от 6 до 12 символов.

Я написал такой код:

function regex_check($str, $pattern) {
$marker = false;
if (preg_match($pattern, $str)) {
$marker = true;
echo 'true';
}
return $marker;
}

вызываю эту функцию

regex_check($_POST['password'], '([a-zA-Z0-9]{6,12})')

но она пропускает пароли длиной свыше 12 символов. И пару раз сработала на символ # - чего быть вообще не должно.


Помогите разобраться пожалуйста.

   
 
 автор: cheops   (25.05.2005 в 21:05)   письмо автору
 
   для: Moondev   (25.05.2005 в 20:53)
 

Следует явно прописать, что регулярное выражение начинается с начала слова ^ и заканчивается на его конце $
<?php
regex_check
($_POST['password'], '/^[a-zA-Z0-9]{6,12}$/');
?>

   
 
 автор: Moondev   (25.05.2005 в 21:56)
 
   для: cheops   (25.05.2005 в 21:05)
 

Я про это не подумал...

Спасибо! теперь заработало.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования