Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.04.2008, 11:48
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 1  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
По умолчанию Проверка ввода даты?

Помогите разобрать с проверкой ввода даты:
Код:
$_POST["end_pokaz"]=trim($_POST["end_pokaz"]);
  if(!empty($_POST["end_pokaz"]))
  {
    if (!preg_match("/[0-9]+[0-9\.]+\.[0-9]+[0-9\.]+\.[0-9]+[0-9]/i", $_POST["end_pokaz"]))
    {
      $action = "";
      $error = $error."<LI>Неверно введена дата \n";
    }
  }

Старый 09.04.2008, 14:31
UnVisible вне форума Посмотреть профиль Отправить личное сообщение для UnVisible Найти все сообщения от UnVisible
  № 2  
Ответить с цитированием
UnVisible

Регистрация: Mar 2008
Сообщений: 29
Мдя... немного бреда ты написал, наверно удобнее было б так:

Код:
  if($_POST["end_pokaz"] && trim($_POST["end_pokaz"])!='')
+ вотето для читабельности лучше вот так:
Код:
$error .= "<LI>Неверно введена дата";
А регулярка вроде должна быть такая (в регулярках я слаб):

Код:
if (!preg_match("/[0-9]{2,2}+\.+[0-9]{2,2}+\.+([0-9]{2,2}|[0-9]{4,4})/i", $_POST["end_pokaz"]))
Жаль что проверить только не могу чтобы точно сказать!


Последний раз редактировалось UnVisible; 09.04.2008 в 14:36.
Старый 09.04.2008, 15:53
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 3  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
Регулярочка неработает....блин

Кстати а почему так
Код:
if (!preg_match("/[0-9]{2,2}+\.+[0-9]{2,2}+\.+([0-9]{2,2}|[0-9]{4,4})/i", $_POST["end_pokaz"]))
а не вот так

Код:
if (!preg_match("/[0-9]+[0-9\.]+\.[0-9]+[0-9\.]+\.[0-9]+[0-9]/i", $_POST["end_pokaz"]))


Последний раз редактировалось forward; 11.04.2008 в 10:21.
Старый 14.04.2008, 08:02
kotsie вне форума Посмотреть профиль Отправить личное сообщение для kotsie Найти все сообщения от kotsie
  № 4  
Ответить с цитированием
kotsie

Регистрация: Oct 2007
Адрес: Латвия
Сообщений: 62
По-моему, регулярочкой дату не очень проверять, количество дней в месяцах разное (и не равное 99), количество месяцев тоже 12, только с годами всё просто, и то по большому счёту можно было бы принимать четырёхзначные
__________________
не уверен – не отвечай!

Старый 14.04.2008, 11:07
UnVisible вне форума Посмотреть профиль Отправить личное сообщение для UnVisible Найти все сообщения от UnVisible
  № 5  
Ответить с цитированием
UnVisible

Регистрация: Mar 2008
Сообщений: 29
Цитата:
Сообщение от forward
Регулярочка неработает....блин

Кстати а почему так
Код:
if (!preg_match("/[0-9]{2,2}+\.+[0-9]{2,2}+\.+([0-9]{2,2}|[0-9]{4,4})/i", $_POST["end_pokaz"]))
а не вот так

Код:
if (!preg_match("/[0-9]+[0-9\.]+\.[0-9]+[0-9\.]+\.[0-9]+[0-9]/i", $_POST["end_pokaz"]))
По сути в двух случаях правильно. Но так читабельнее, тоесть [0-9]{2,2} = количество цифер от 2 до 2 с диапазоном от 0 до 9-ти! Я вот только с точкой сомневаюсь что правильно.
А по поводу что месяц имеет не 99 дней - можно будет и елементарным ИФом проверить! =)

Старый 15.04.2008, 18:25
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 6  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
дело в том не работает не так не так...

Старый 22.04.2008, 13:14
BoUnd вне форума Посмотреть профиль Отправить личное сообщение для BoUnd Посетить домашнюю страницу BoUnd Найти все сообщения от BoUnd
  № 7  
Ответить с цитированием
BoUnd

Регистрация: Nov 2004
Адрес: Россия, Орел
Сообщений: 17
Отправить сообщение для BoUnd с помощью ICQ
if (!preg_match("/\d{1,2}\.\d{1,2}\.\d{2,4}/", $_POST["end_pokaz"]))
чтобы понять вашу ошибку почитайте что скрывает за собой символ +
да и не стоит полагатся на регулярко, как правило она используется чтобы вытащить из строки день, месяц и год, а дальше уже проверять нормальность ввода
ведь такая регулярка скушает и такое: 0.0.00

Старый 22.04.2008, 18:44
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 8  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
Спасибо на этом!!!

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:29.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.